4 Redis4 List命令类型讲解

打印 上一主题 下一主题

主题 1627|帖子 1627|积分 4881

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Redis 列表(List)命令详解

1. Redis 列表(List)简介

Redis 列表(List)是一个简单的字符串列表,按照插入顺序排序。它可以用作 栈(Stack)队列(Queue),提供了丰富的操作方式。Redis 列表的底层实现是一个 双向链表,因此在头部和尾部的操作非常高效。
2. Redis List 干系命令

2.1 添加元素

命令形貌LPUSH key value [value ...]将一个或多个值插入到列表头部RPUSH key value [value ...]将一个或多个值插入到列表尾部LPUSHX key value只有在列表存在时,才将值插入到列表头部RPUSHX key value只有在列表存在时,才将值插入到列表尾部 示例:

  1. LPUSH mylist "a" "b" "c"   # 列表头部插入 c, b, a
  2. RPUSH mylist "x" "y" "z"   # 列表尾部插入 x, y, z
  3. LRANGE mylist 0 -1          # 查看列表所有元素
复制代码
效果:
  1. "c" "b" "a" "x" "y" "z"
复制代码

2.2 获取列表元素

命令形貌
LRANGE key start stop获取列表指定范围的元素
LINDEX key index获取列表中指定索引的元素
LLEN key获取列表长度
示例:

  1. LRANGE mylist 1 3   # 获取索引 1 到 3 之间的元素
  2. LINDEX mylist 2     # 获取索引 2 的元素
  3. LLEN mylist         # 获取列表长度
复制代码

2.3 修改和删除元素

命令形貌
LSET key index value通过索引设置列表元素的值
LREM key count value移除列表中 count 个值即是 value 的元素
LTRIM key start stop修剪列表,使列表只保存指定范围内的元素
示例:

  1. LSET mylist 2 "new_value"  # 将索引 2 的元素设置为 "new_value"
  2. LREM mylist 1 "a"         # 删除一个值为 "a" 的元素
  3. LTRIM mylist 1 3          # 只保留索引 1 到 3 之间的元素
复制代码

2.4 移除和弹出元素

命令形貌
LPOP key移除并返回列表的第一个元素
RPOP key移除并返回列表的最后一个元素
RPOPLPUSH source destination移除 source 列表的最后一个元素,并将该元素添加到 destination 列表的头部
BLPOP key [key ...] timeout阻塞式移除并返回列表的第一个元素(如果列表为空则等待)
BRPOP key [key ...] timeout阻塞式移除并返回列表的最后一个元素(如果列表为空则等待)
BRPOPLPUSH source destination timeout阻塞式弹出一个值,并推入另一个列表
示例:

  1. LPOP mylist         # 移除并获取第一个元素
  2. RPOP mylist         # 移除并获取最后一个元素
  3. RPOPLPUSH mylist newlist  # 将 mylist 的最后一个元素移到 newlist 的头部
  4. BLPOP mylist 5      # 如果列表为空,则等待 5 秒,直到有元素可弹出
复制代码

3. Redis List 实用场景


  • 消息队列:使用 LPUSH + BRPOP 实现生产者-消耗者模式。
  • 任务队列:可用于处理异步任务,将任务存入列表,然后异步消耗。
  • 排行榜:可以用 LPUSH 添加数据,LRANGE 获取排行榜前 N 名。
  • 近来访问记载:存储用户近来的操作记载,使用 LPUSH 插入,LTRIM 只保存最新的 N 条。

4. 总结

Redis 列表(List)提供了丰富的操作,实用于多种场景。把握 LPUSH、RPUSH、LPOP、RPOP 及 BLPOP 等命令,可以在实际项目中高效使用 Redis 处理队列和有序数据。
希望这篇文章能帮助你更好地理解和使用 Redis 列表!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表