redis链表link命令

来源:互联网 发布:qq飞车紫电神驹29数据 编辑:程序博客网 时间:2024/05/22 13:06

1 lpush key value1【value2….】
作用: 把值插入到链接头部
2 rpush key value1【value2….】
作用: 把值插入到链接尾部

--lpush测试127.0.0.1:6379> lpush link 5 4 3 2 1(integer) 5127.0.0.1:6379> lrange link 0 -11) "1"2) "2"3) "3"4) "4"5) "5"
--rpush 测试127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> lrange linkStr 0 -11) "a"2) "b"3) "c"4) "d"

3 rpop key
返回并删除链表尾元素
4 lpop key
返回并删除链表头元素

127.0.0.1:6379> flushdbOK127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> rpop ls"d"127.0.0.1:6379> lpop ls"a"127.0.0.1:6379> 

5 lrange key start stop
返回链表中[start ,stop]中的元素
左数从0开始,右数从-1开始

--lpush测试127.0.0.1:6379> lpush link 5 4 3 2 1(integer) 5127.0.0.1:6379> lrange link 0 -11) "1"2) "2"3) "3"4) "4"5) "5"

6 lrem key num value
从key链表中删除 num 个value值,且删除后立马结束。
num >0 从表头删除
num <0 从表尾删除

--测试数据127.0.0.1:6379> lrange ls 0 -11) "a"2) "b"3) "c"4) "d"5) "a"6) "b"7) "c"8) "d"--从链表头部开始,删除2个a127.0.0.1:6379> lrem ls 2 a(integer) 2127.0.0.1:6379> lrange ls 0 -11) "b"2) "c"3) "d"4) "b"5) "c"6) "d"--从链表尾部开始,删除1个d127.0.0.1:6379> lrem ls -1 d(integer) 1127.0.0.1:6379> lrange ls 0 -11) "b"2) "c"3) "d"4) "b"5) "c"

7 ltrim key start stop
剪切[start,stop]的一段对应的链接,并把该链接段重新赋给key

127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> ltrim ls 1 -1OK127.0.0.1:6379> lrange ls 0 -11) "b"2) "c"3) "d"

8 lindex key index
返回index索引上的值,

127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> lindex ls 1"b"

9 llen key
返回链表的长度

127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> llen ls(integer) 4

10 linsert key after|before value value1
作用: 在key链表中寻找value ,并在value 值之前|之后,.插入value1
一旦找到一个value 后,立马插入value1,之后命令就结束了

127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> linsert ls before b 1(integer) 5127.0.0.1:6379> linsert ls after  c 3(integer) 6127.0.0.1:6379> lrange ls 0 -11) "a"2) "1"3) "b"4) "c"5) "3"6) "d"

11 rpoplpush source dest
把source的尾部拿出,放在dest的头部,并返回source的尾部值

127.0.0.1:6379> rpush ls a b c d(integer) 4127.0.0.1:6379> rpush link  1 2 3 4(integer) 4127.0.0.1:6379> rpoplpush ls link"d"127.0.0.1:6379> lrange ls 0 -11) "a"2) "b"3) "c"127.0.0.1:6379> lrange link 0 -11) "d"2) "1"3) "2"4) "3"5) "4"

12 brpop | blpop key timeout
等待弹出key的尾/头元素,但key存在,且有值的时候,立马弹出元素
Timeout为等待超时时间
如果timeout为0,则一直等待
这里写图片描述

图片解说:
步骤1
做图先做,操作命令brpop ls 50
解释:等待ls,等待时间为50秒,如果ls有值,返回ls的尾部。

步骤2:
设置ls 的值
步骤3:当步骤2做完,立马显示ls的尾部值,同时ls丢失尾部值