Redis对link链表的操作命令

分类: SQL/NoSQL,分享  • 发布时间: 2015-03-23 21:49:00  • 浏览量:11292

操作系统:centos 6.5
redis版本:2.8.19

lpush key value
把值插入到链接头(左)部
rpush key value
把值插入到链接尾(有)部


lpop key
删除链表头(左)元素,并返回被删除的值
rpop key
删除链表尾(右)元素,并返回被删除的值


lrange key start stop
返回链表中[start ,stop]中的元素。左边从0开始,右边从-1开始,取所有的值:lrange aa 0 -1

lrem key count value
删除key链表中的value,其中count的绝对值为删除的个数
count为负:从链表的尾部开始删除
count为正:从链表的头部开始删除
如1:链表b为:1 2 3 2 4 2 5 2 6 2 7 2
执行lrem b 3 2后,使用lrange b 0 -1得到的结果为:1 3 4 5 2 6 2 7 2
如2:链表b依然为:1 2 3 2 4 2 5 2 6 2 7 2
执行lrem b -3 2后,使用lrange b 0 -1得到的结果为:1 2 3 2 4 2 5 6 7


ltrim key start stop
截取key链表中start到stop的一段,并将截取的值重新赋给key链表
如:依次执行:
rpush b 1 2 3 4 5 6 7 8
ltrim b 2 5
lrange b 0 -1
得到的值为:3 4 5 6


lindex key index
返回index索引上的值,索引从0开始
如:lindex b 2


llen key
计算key链表的元素个数

linsert key before val1 val2

在key链表中寻找val1,并在val1之前插入val2

linsert key after val1 val2
在key链表中寻找val1,并在val1之后插入val2


rpoplpush key1 key2
将key1链表的尾部元素拿出,并放在key2的头部,返回为被拿出的值


brpop key timeout
在链表key的尾部删除一个元素,如果key链表已经没有值,会等待timeout秒,在等待过程中,一旦key中有值,则马上从尾部弹出一个值

blpop key timeout
在链表key的头部删除一个元素,如果key链表已经没有值,会等待timeout秒,在等待过程中,一旦key中有值,则马上从头部弹出一个值
如果timeout为0,则会一直等待


文章标签: redis, nosql, 命令, 操作
用户评论:
  • 游客87311 2017-12-26 09:39:14

    6666