04 redis list结构及命令详解

一:link 链表结构



lpush key value 

作用: 把值插入到链接头部[右边]

注意:rpush key  value   插入到左边

rpop key

作用: 返回并删除链表尾元素



rpush,lpop: 不解释



注意:lpop   key  表示删除一个列表的元素

lrange key start  stop

作用: 返回链表中[start ,stop]中的元素

如:lrange char 1 3

规律: 左数从0开始,右数从-1开始

查看全部

如:lrange char 0 -1



lrem key count value

作用: 从key链表中删除 value值

注: 删除count的绝对值个value后结束

Count>0 从表头删除

Count<0 从表尾删除



ltrim key start stop

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



lindex key index

作用: 返回index索引上的值,

如  lindex key 2



llen key

作用:计算链接表的元素个数

redis 127.0.0.1:6379> llen task

(integer) 3

redis 127.0.0.1:6379> 



linsert  key after|before search value

作用: 在key链表中寻找’search’,并在search值之前|之后,.插入value

注: 一旦找到一个search后,命令就结束了,因此不会插入多个value





rpoplpush source dest

作用: 把source的尾部拿出,放在dest的头部,

并返回 该单元值



场景: task + bak 双链表完成安全队列

Task列表                             bak列表

		

		





业务逻辑:

1:Rpoplpush task bak

2:接收返回值,并做业务处理

3:如果成功,rpop bak 清除任务. 如不成功,下次从bak表里取任务





brpop ,blpop  key timeout

作用:等待弹出key的尾/头元素, 

Timeout为等待超时时间

如果timeout为0,则一直等待





 



  

你可能感兴趣的:(redis)