Redis:List列表相关指令

前言:

  redis里支持list类型,当然list这个结构可以通过逻辑处理变成一些其他的结构

  如果在list类型的基础上去给他写一个里面元素先进先出的话,那么他就变成里一个栈结构

 

 

  如果给它写一个先进先出的逻辑,那么他的结构就是队列

  如果list这个容器两面都可以进出的话,他就是一个阻塞队列

 

  

所用的list的命令都是用 l 开头的 

1.设置值

lpush {key name} {value}  #从左边插入

rpush {key name} {value} #从右边插入

lset {key name} {value} #按下标插入,下标处原有的值被替换

3.通过区间获取值

lrange {key name} {start} {end}

获取全部值 0  -1

4.移除对队列里的元素

lpop {key name}  #移除list里最左边的元素

rpop {key name} #移除list里最右边的元素 

5.通过下标获取list里的某一个值

lindex {key name} {index}

6.查询列表的长度

Llen {key name}

7.移除list中指定的值

lrem {key name} {count} {value}

8.截取数据库值

ltrim {key name} {index start} {index stop}

 

 

9.移除当前列表的最后的一个元素,并将该元素放到新列表当中

rpoplpush {当前列表} {新列表}

 

小结:

  更多全面的相关指令可以参考redis的中文官网

  list实际上是一个双向链表,brfore Node afterl~leftr~right都是可以插入值的

  如果key不存在,则创建新的节点

  如果key存在,则更新(覆盖原有的)值

  在两边插入和更新值效率是最高的,中间操作相对来说效率回低一点

 

 

 

 

原文地址:https://www.cnblogs.com/CL-King/p/14578704.html