redis之list

42 阅读1分钟

属性

最大长度:2^32-1

操作表头或者表尾,是o(1) 操作表中元素,例如lindex、linsert、lset都是o(n)

有些时候,可以使用redis streams替代

应用

  • 作为队列
  • 作为栈

常用命令

全部命令查看地址

https://redis.io/commands/?group=list
  • lpush,从list左侧加入值
  • lpop,从list左侧弹出值
  • rpush,从右侧加入值
  • rpop,从右侧弹出值
  • llen,查看长度
  • lrange,遍历
  • lmove,从一个列表移动数据到另一个列表
  • ltrim,一个有上限的列表

lpop

lpop key [count]
  • 弹出并删除元素
  • 默认不加count参数,弹出一个
  • 加了count,弹出至多count个,如果不够,就弹出全部

lindex

lindex key index
  • 下标为整数的时候是从0开始的表示第一个元素
  • 下标为负数的时候,从最后开始,-1表示最后一个元素

lrange

语法

lange key start stop
  • start是从0开始的
  • 下标可以是负数,-1表示最后一个元素
  • 下标是左右都包含的,[start,stop]

便利整个list

lrange name 0 -1