Redis命令
通用命令
keys [pattern]
:遍历所有key(生产环境禁用)dbsize
:计算key的总数exists key
:检查key是否存在del key [key...]
:删除指定key-valueexpire key seconds
:设置key的过期时间ttl key
:查看key剩余的过期时间persist key
:去除key的过期时间type key
:返回key的类型
string - 字符串
基本操作
get key
:获取key对应valueset key value
:不管key是否存在,都设置key-valuesetnx key value
:key不存在时,才设置key-valueset key value xx
:key存在时,才设置key-valuedel key
:删除key-value
批量操作
mset key1 value1 key2 value2 ...
:批量设置key-valuemget key1 key2 ...
:批量获取key,原子操作
计数操作
incr key
:key自增1,如果key不存在,自增后get(key)=1decr key
:key自减1,如果key不存在,自减后get(key)=-1incrby key k
:key自增k,如果key不存在,自增后get(key)=kdecrby key k
:key自减k,如果key不存在,自减后get(key)=-k
其他操作
getset key newvalue
:设置key新值并返回旧值append key value
:追加valuestrlen key
:返回字符串的长度getrange key start end
:获取字符串指定下标所有的值setrange key index value
:设置字符串指定下标所有对应的值incrbyfloat key 3.5
:key自增对应的值3.5
hash - 哈希
基本操作
hget key field
:获取hash key对应field的valuehset key field value
:设置hash key对应field的valuehdel key field
:删除hash key对应field的valuehexists key field
:判断hash key是否有fieldhlen key
:获取hash key的field数量
批量操作
hmget key field1 field2 ...
:批量获取hash key的一批field对应值hmset key field1 value1 field2 value2 ...
:批量设置hash key的一批field value
其他操作
hgetall key
:返回hash key对应所有的field和valuehvals key
:返回hash key对应所有的field的valuehkeys key
:返回hash key对应所有的field
list - 列表(有序、可重复)
基本操作
rpush list value1 value2 ...
:从列表右端插入值lpush list value1 value2 ...
:从列表左端插入值linsert list before|after value newValue
:在列表指定位置的前|后插入newValuelpop list
:从列表左侧弹出一个itemrpop list
:从列表右侧弹出一个itemlrem list count value
:根据count值,从列表中删除所有与value像=相等的项
(1)count>0,从左到右,删除最多count个与value相等的项;
(2)count<0,从右到左,删除最多Math.abs(count)个与value相等的项;
(3)count=0,删除所有与value相等的项ltrim list start end
:按照索引范围裁剪列表lrange list start end
:获取列表指定索引范围所有item(包含end)lindex list index
:获取列表指定索引的itemllen list
:获取列表长度lset list index newValue
:设置列表指定索引的值为newValue
阻塞操作
blpop list timeout
:lpop阻塞版本,timeout是阻塞超时时间,timeout=0为永不阻塞brpop list timeout
:rpop阻塞版本,timeout是阻塞超时时间,timeout=0为永不阻塞
set - 集合(无序、无重复)
基本操作
sadd set element
:向集合添加element(如果element已存在,则添加失败)srem set element
:将集合中的element移除scard set
:计算集合大小sismember set element
:判断element是否在集合中srandmember set count
:从集合中随机挑count个元素spop set
:从集合中随机弹出一个元素smembers set
:获取集合所有元素
集合操作
sdiff set1 set2
:差集sinter set1 set2
:交集sunion set1 set2
:并集sdiffstore destkey set1 set2
:将set1和set2的差集结果保存在destkey中sinter destkey set1 set2
:将set1和set2的交集结果保存在destkey中sunion destkey set1 set2
:将set1和set2的并集结果保存在destkey中
zset - 有序集合
基本操作
zadd zset score element
:向集合添加score和elementzrem zset element
:将集合中的element移除zscore zset element
:返回element的分数zincrby zset increScore element
:增加或减少element的分数zcard zset
:计算集合大小zrank zset element
:返回element在集合中的排名
范围操作
zrange zset start end [WITHSCORES]
:返回指定索引范围内的升序元素[分值]zrangebyscore zset minScore maxScore [WITHSCORES]
:返回指定分数范围内的升序元素[分值]zcount zset minScore maxScore
:返回有序集合内在指定分数范围内的个数zremrangebyrank zset start end
:删除指定排名内的升序元素zremrangebyscore zset minScore maxScore
:删除指定分数内的升序元素
集合操作
zinter destkey zset1 zset2
:将zset1和zset2的交集结果保存在destkey中zunion destkey zset1 zset2
:将zset1和zset2的并集结果保存在destkey中