1. 字符串类型
get: get key #获取key对应的value o(1)
del: del key #删除key-value o(1)
incr: incr key #key自增1,如果key不存在,自增后get(key)=1 o(1)
decr: decr key #key自减1,如果key不存在,自减后get(key)=-1 o(1)
incrby: incrby key k #key自增k,如果key不存在,自增后get(key)=k o(1)
decrby: decrby key #key自减k,如果key不存在,自减后get(key)=-k o(1)
set: set key #设置key-value 不管key是否存在,都设置 o(1)
setnx:setnx key value #key不存在,才设置 o(1)
setxx:set key value xx #key存在,才设置 o(1)
mget: mget key1 key2 key3... #批量获取key,原子操作 o(n)
mset: mset key1 key2 key3... #批量设置key-value o(n)
getset:getset key new value #set key newvalue并返回旧的value o(1)
append:append key value #将value追加到旧的value o(1)
strlen:strlen key #返回字符串的长度(一个中文2个字节) o(1)
incrbyfloat:incrbyfloat key 3.5 #增加key对应的值3.5
getrange:getrange key start end #获取字符串指定下标所有的值
setrange:setrange key index value #设置指定下标所有对应的值
2.hash类型
hget: hget key field #获取hash key对应的field的value o(1)
hset: hset key field value #设置hash key对应的field的value o(1)
hdel: hdel key field #删除hash key对应field的value o(1)
hexists:hexists key field #判断hash key是否有field o(1)
hlen:hlen key #获取hash key field的数量
hmget: hmget key field1,field2... #批量获取hash key的一批field对应的值 o(n)
hmset: hmset key field1 value1,field2 value2... #批量设置hash key的一批field value o(n)
hgetall:hgetall key #返回hash key对应所有的field和value o(n)
hvals:hvals key #返回hash key对应所有的field的value
hkeys:hkeys key #返回hash key对应所有field
3.list类型
rpush:rpush key value1 value2 ...valueN #从列表右端插入值(1-N个) o(1~n)
lpush :lpush key value1 value2 ...valueN #从列表左端插入值(1-N个) o(1~n)
linsert:linsert key before|after value newValue #在list制定值前|后插入 newvalue o(n)
lpop:lpop key #从列表左侧弹出一个item o(1)
rpop:rpop key #从列表右侧弹出一个item o(1)
lrem:lrem key count value #根据count值,从列表中删除所有value相等的项
(1)count>0,从左到右,删除最多count个value相等的项
(2)count<0,从右到左,删除最多Math.abs(count)个value相等的项
(3)count=0,删除所有value相等的项
ltrim:ltrim key start end #按照索引范围修剪列表 o(n)
lrange:lrange key start end(包含end)#获取列表索引制定范围所有item o(n)
lindex:lindex key index #获取列表制定索引的item
llen:llen key #获取列表长度
lset:lset key index newValue #设置列表指定索引值为newValue
blpop:blpop key timeout #lpop 阻塞版本,timeout是阻塞超时时间,timeout=0为永不阻塞
brpop:brpop key timeout #rpop 阻塞版本,timeout是阻塞超时时间,timeout=0为永不阻塞
LPUSH + LPOP=Stack
LPUSH + RPOP=Queue
LPUSH + LTRIM =Capped Collection
LPUSH + BRPOP =Message Queue
4.Set类型
sadd:sadd key element #向集合key添加element(如果element已经存在,添加失败)
srem:srem key element #将集合key添加element删除
scard:scard key #计算集合大小
sismember:sismember key value # 判断value是否在集合中
srandmember :srandmember key count #从集合中随机挑选count个元素
spop:spop key #从集合中随机弹出一个元素
smembers:smembers key #获取集合中所有元素(小心使用)
sdiff :sdiff key1 key2 #差集
sinter :sinter key1 key2 #交集
sunion :sunion key1 key2 #并集
sdiff |sinter |sunion +store destkey #将差集,交集,并集结果保存在destkey中
5.zset类型
zadd:zadd key score element (可以是多对) #添加score和element o(logN)
zrem:zrem key element (可以是多个) #删除元素 o(1)
zscore:zscore key element #返回元素的分数
zincrby:zincrby key increScore element #增加或减少元素分数
zcard :zcard key #返回元素总个数
zrank :zrank key element #获取element的排名
zrange:zrange key start end[WITHSCORES] #返回指定索引范围内的升序元素
zrangebyscore :zrangebyscore key minScore maxScore [WITHSCORES] #返回指定分数范围内的升序元素
zcount:zcount key minScore maxScore #返回有序集合内在指定分数范围内的个数
zremrangebyrank:zremrangebyrank key start end #删除指定排名内的升序元素
zremrangebyscore:zremrangebyscore key minScore maxScore #删除指定分数内的升序元素