Redis链表相关命令
2017-01-08 本文已影响0人
Dafanzi
redis链表存储一般操作
flushdb会清除该库所有键值对
lpush key value
作用:把值插入链接头部
lpush character b
也可以一次插入多个值lpush character a b c d e
rpush key value
作用:把值插入链接尾部
rpush character b
也可以一次插入多个值rpush character a b c d e
lrange key start stop
作用:返回链表中[start,stop]中的元素
lrange character 1 2
lrange character 0 -1
左数从0开始,右数从-1开始
rpop key
作用:返回并删除表尾元素
lpop key
作用:返回并删除表头元素
lrem key count value
作用:从key链表中删除value值,删除count个相同值后就结束`
(正数从头删,负数从尾部删)
ltrim key start stop剪切
剪切key对应的链接,切[start,stop]一段,并把该段重新赋值给key
lindex key poistion返回索引上的值
如 index keyname 2(返回第三个元素上的值)
llen key看这个链表有多长
如 llen task
(integer)3
linsert key after|before search value
作用:在key链表中寻找“search”值,并在找到的“search”值之前|之后插入vlaue。并且注意,一旦找到一个“search”后,命令就结束了,因此不会插入多个value
rpoplpush sourcr dest
作用:把source的尾部拿出来,放在dest的头部.并返回该单元值
这个可以用在任务的安全分发机制中:1、rpoplpush task bak 2、接受返回值,并做业务处理 3、如果成功。rpop bak清除任务,如果不成功,下次从bak表里取出任务。
brpop\blpop key timeout
作用:等待弹出key的尾头元素
timeout为等待时间
如果timeout为0,则一直等待