Redis常用操作命令
key键操作
- keys * :显示所有的key
- type key:显示你的key是什么类型的
- del key ….:删除一个键或者多个键,立即删除,空格隔开
- unlink key :删除一个key,=异步删除
- expire key :设置过期时间
- ttl key:查看还有多久过期
- select db:切换数据库
- dbsize:查看数据库key的数量
- flushdb:清空当前数据库
- flushall:删除所有数据库内容
String字符串
- set k v:设置一个键值对
- nx:键不存在的时候,将其kv添加到数据库
- xx:键存在的时候将,其添kv加到数据库
- ex:设置超时秒数
- px:设置超时毫秒数
- get key :查看键对应的值
- append k v:将其给定的value追加到原有value后面
- incr k :将键对应的值加一(数字值)
- decr k:将键对应的值减一(数字值)
- decrby k N :将键对应的值减N
- incrby k N:将键对应的值加N
- mset k1 v1 k2 v2 ….:设置多个键值对
- mget k1 k2 …:获取多个键所对应的值
- msetnx k1 v1 k2 v2 …:当且仅当key不存在设置—->设置一个失败则都失败,因为Redis的原子性操作
- getrange k 起始位置 结束位置:获取指定key中的从开始到结束的内容,前后都包括
- setrange k 开始位置 value:从开始位置覆写新的value
- getset k v:以新换旧
列表List
- lpush/rpush k v1 v2 v3 …:从左边或者右边加入一个值
- lpop/rpop k:从左边或者右边吐出一个值(吐出后删除)
- rpoplpush k1 k2:从k1右边吐出一个值插入到k2左边
- lrange k 开始 结束:按照下标范围(从左到右)获取列表元素值 0表示左边第一个 -1表示右边第一个
- lindex k index :取出key对应的列表的第index个值
- llen k:取出对应的列表长度
- linsert k before/after value new value:在value后面/前面插入newvalue(在某个值前面插入新值)
- lrem k n value:从左边删除n个value(从左到右)删除相同的n个value
- ltrim key 开始 结束 :裁剪留下范围内的值
- lset k index newvalue:将key对应的列表中的第index个值替换成为newvalue
集合Set
- sadd k v1 v2 ..:向集合中添加元素
- smembers k :取出集合中所有元素
- sismember k v:判断集合中是否存在对应的value,存在1 不存在0
- scard k :返回集合元素个数
- srem k v1 v2 …:删除集合中元素
- spop k :随机取出集合中一个元素
- srandmember k n :随机从集合中取出n个元素,不删除
- smove 源 目标 值:将值从一个集合移动到另一个集合
- sinter k1 k2 :返回两个集合的交集
- sunion k1 k2 :返回两个集合的并集
- sdiff k1 k2 :返回两个集合差集的元素(在k1中但是不包含k2中元素)
哈希Hash
- hset key field value:添加一个键,并且这个键对应一个field(可以对应多个,类似成员变量),以及这个field对应的值
- hget key field:从集合中取出field对应的值
- hdel key field:从集合中删除field
- hmset k1 field1 value1 field2 value2 …:批量给key添加field
- hexists key field:检查key中对应域field是否存在
- hkeys key:列出改哈希所有的field
- hvals key:列出改hash集合中所有的value
- hincrbykey field increment:将哈希 key 中的域field的值加减n
- hsetnx k filed value :不存在field时添加field
zset自带Score排序的Set
- zadd key score1 value1 score2 value2 ….:将一个或者多个元素及其Score加入key中
- zrange key start stop [withscore]:返回下标在开始结束之间的元素 从小到大
- zrevrange key start stop [withscore]:返回下标在开始结束之间的元素 从大到小
- zremrangebylex key min max:按照字典min~max移除元素
- zrevrangebyscore key max min [withscores]:返回有序集合max~min分数区间的成员,分数从高到低
- zvrangebyscore 分数从低到高
- zcount key start stop:返回开始到结束范围内的数量
- zrank key member:返回指定成员的索引信息
- zrem key member:移出集合中的成员
- zcard key:获取集合中数量
BitMaps 使用bit位进行存储的结构
- setbit key offset value:设置bitmap中某个偏移量的值(0/1) offset从0开始
- getbit key offset:获取指定偏移量的值(0/1)
- bicount key [start end]:统计bitmap中被设置为1的个数,从start ~ end
- bitop (or/and/xor) des key1 key2 …:bitmaps交并异或操作
HyperLogLog ——解决基数集问题
- pfadd key element1 element2 ….:添加元素到hyperloglog中
- pfcount key key … :返回基数估算值
- pfmerge des sourcekey1 sourcekey2 …:将多个hyperloglog合并到一个中
Geospatial——提供经纬度计算
- geoadd key 经度 维度 名称 :添加地理坐标(经度:-190~180 纬度:-85.05112878~85.05112878 不能直接添加两极)
- geopos key member member ….:获取指定地理位置的经纬度坐标
- geodist key member1 member2 [m|km|ft|mi]:计算两个地点的距离
- georadius key 经度 维度 半径 [m|km|ft|mi]:计算指定地理位置多少半径范围内的元素