您的位置:首页 > 数据库 > Redis

redis命令解析之list类型

2017-03-28 14:42 176 查看
号外号外,新建Redis交流讨论群:332160890,欢迎加入!!

链表类型的编码方式为:OBJ_ENCODING_QUICKLIST

1、lpushCommand(client *c)
使用:LPUSH  key value  [value …]
说明:将一个或者多个value插入到key对应的链表的表头,如果不存在,则新建一个链表
2、rpushCommand(client *c)
使用:RPUSHkey  value [value …]
说明:将一个或者多个value插入到key对应的链表的表尾,如果不存在,则新建一个链表
3、lpushxCommand(client *c)
使用:LPUSHX  key value
说明:将value插入到key对应的链表的表头,如果key对应链表不存在,则不进行任何操作
4、rpushCommand(client *c)
使用:RPUSH  key value
说明:将value插入到key对应的链表的表尾,如果key对应链表不存在,则不进行任何操作
5、linsertCommand(client *c)
说明:LINSERT  key before|after  ref  value
使用:在key对应的链表中在ref的前面或者后面插入value,如果ref不存在,不进行任何操作
6、llenCommand(client *c)
使用:LLEN  key 

说明:返回key对应的链表中的元素个数
7、lindexCommand(client *c)
使用:LINDEX  key index
说明:获取key对应的链表中index指向的数据
8、lsetCommand(client *c)
使用:LSET  key index  value
说明:将key对应的列表中下标为index的值设置为value,当链表不存在或者超出范围,返回错误
9、lpopCommand(client *c)
使用:LPOP  key
说明:从key对应的链表的表头数据返回
10、rpopCommand(client *c)
使用:RPOP key
说明:将key对应的链表的表尾数据返回
11、lrangeCommand(client *c)
使用:LRANGE  key start  end
说明:将key对应的链表中start到end的数据返回
12、ltrimCommand(client *c)
使用:LRIM  key start  end

说明:删除key对应的链表中start到end范围内的数据
14、lremCommand(client *c)
使用:LREM  key count  value
说明:移除key对应的链表中count个与value相同的元素,count正负代表链表前后开始
15、rpoplpushCommand(client *c)
使用:RPOPLPUSH  source destination
说明:原子操作,将source对应的链表的表尾数据弹出并返回客户端,且将该数据压入destination对应的链表的表头,如果destination对应的链表不存在,则新建
16、blpopCommand(client *c)
使用:BLPOP  key [key …]  timeout
说明:是LPOP的阻塞版本,如果当前key对应的list里面没有元素的时候,连接会被阻塞,直到超时或者发现有数据为止
17、brpopCommand(client *c)
使用:BRPOP  key [key …]  timeout
说明:是RPOP的阻塞版本,如果当前key对应的lsit没有元素的时候,连接会被阻塞,直到超时或者发现数据为止
18、brpoplpushCommand(client *c)
使用:BRPOPLPUSH  source destination  timeout
说明:是RPOPLPUSH的阻塞版本,当source对应的list为空的时候,连接被阻塞,直到超时,或者另一个连接在source中添加了数据
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis 缓存 代码分析