Redis 五大数据结构常用API总结

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 #删除指定分数内的升序元素

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值