redis list 操作

数据类型

redis 列表 (栈, 队列)

数据容量

单个列表可以存储 2 的32次方 - 1 个元素 (4294967295, 每个列表超过40亿个元素)

操作指令

  • 插入数据
$ lpush key element0 element1 element2 ...
(integer) 4
  • 查询列表长度
$ llen key
  • 查询指定位置的元素
$ lindex key index
  • 指定元素之前插入元素
$ linserte key  befor pivot element
  • 指定元素之后插入元素
$ linster key after pivot element
  • 将一个或多个值 从列表头部插入
$ lpush key element0 element1 ...
$ lpushx key element0 element1 ... 
# 数据依次插入列表头部[element1, element0, ...]
  • 当key 不存在时 lpush 会创建一个以key命名的 列表,并将elements 插入;lpushx 不会执行任何操作
  • 将一个或多个值从列表末尾插入
$ rpush key element0 element1 ...
$ rpushx key element0 element1 ...
  • 查询列表中指定范围的元素
$ lrange key start end
  • 覆盖指定位置元素
$ lset key index value
  • 切片列表
$ ltrim key start stop 
  • 列表头pop 元素 空列表定时阻塞
$ blpop key timeout
  • 列表末尾 pop元素 空列表定时阻塞
$ brpop key timeout
  • 从列表1中pop 元素并压入列表2中
$ brpoplpush source destination timeout

元素从source 列表尾部取出,压入destination 列表 头部

  • 从列表取出元素
$ lpop key
$ rpop key

lpop&& rpop 和 brpop&&blpop 之间的区别: 前者不会阻塞程序, 后者会阻塞程序

使用场景

  对于redis 列表来说 可以当成栈和队列来用。是很方便的栈和队列的工具。
posted on 2020-12-30 19:18  咸鱼求生  阅读(383)  评论(0)    收藏  举报