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中添加了数据
链表类型的编码方式为: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数据类型List的常用命令
- redis list类型 操作命令
- redis命令解析之hash类型
- Redis数据类型list类型常用命令
- Redis源码解析4 - 数据类型之 String & List
- 03 redis之string类型命令解析
- Redis常用命令(2)List类型
- Redis的List链表类型命令
- redis命令List类型(六)
- redis中list类型详解及常用命令
- Redis从基础命令到实战之列表类型(List)
- redis的hash, list, set类型相关命令
- Redis-list类型常用操作命令
- Redis学习笔记-List数据类型
- ajax从后台返回list类型到前台解析
- [置顶] Redis String类型数据常用的16条命令总结
- Redis的String、Hash类型命令
- Redis学习手册(List数据类型)
- KingPaper初探redis之redis数据类型解析(String类型)
- (Redis_学习二)关于list类型操作