Redis基本數據結構 ― List

Redis基本數據結構 ― List

  • 介紹
  • 常用命令
  • 範例
    • [1. 將元素推入List中](#1. 將元素推入List中)
    • [2. 取得List內容](#2. 取得List內容)
    • [3. 彈出元素](#3. 彈出元素)

介紹

  • Redis中的List結構是一個雙向鏈表
  • LPUSH + LPOP = Stack
  • LPUSH + RPOP = Queue
  • LPUSH + BRPOP = Queue(消息隊列)

常用命令

命令 功能
LPUSH 將元素推入列表左端
RPUSH 將元素推入列表右端
LPUSHX、RPUSHX 只對已存在的列表執行推入操作
LPOP 彈出列表最左端的元素
RPOP 彈出列表最右端的元素
RPOPLPUSH 將右端彈出的元素推入左端
LLEN 獲取列表的長度
LINDEX 獲取指定索引上的元素
LRANGE 獲取指定索引範圍上的元素
LSET 為指定索引設置新元素
LINSERT 將元素插入列表
LTRIM 修剪列表,只保留給定範圍之內的元素
LREM 從列表中移除指定元素
BLPOP 阻塞式左端彈出操作
BRPOP 阻塞式右端彈出操作
BRPOPLPUSH 阻塞式彈出並推入操作

範例

1. 將元素推入List中

sql 复制代码
lpush key val1 val2 val3
rpush key val1 val2 val3

2. 取得List內容

sql 复制代码
lrange key start end

因為我們要看完整的List內容,所以範圍寫0 ~ -1即可。另外,因為用的是lpush,所以最早push進去的元素會在最右邊。

rpush則相反,最早push進去的元素會在最左邊。


3. 彈出元素

sql 复制代码
lpop key
rpop key



相关推荐
卷无止境11 小时前
工程统计学中的参数估计
后端
真香号11 小时前
记一次生产RocketMQ消息积压消费慢的排查与解决
数据库·rocketmq·java-rocketmq
数据库小学妹11 小时前
国产数据库技术成熟度实测:从Oracle兼容到高可用,四个维度评估能不能上生产
数据库·经验分享·oracle·性能优化·dba
jeffer_liu11 小时前
Spring AI 生产级实战:记忆管理
java·人工智能·后端·spring·语言模型
JdSnE27zv11 小时前
数据库性能优化三:程序操作优化
数据库·sql·性能优化
Curvatureflight11 小时前
接口幂等性设计:如何避免重复提交、重复扣款和消息重复消费?
分布式·后端·架构
铁皮饭盒12 小时前
彩色命令行,Node21自带函数1行实现 ,Bun也兼容, 附Bun.color实现渐变色的代码
前端·后端
锋行天下12 小时前
关于websocket,真实场景踩坑经验
前端·后端
PinkSun12 小时前
我用Spring AI做了个简历优化工具(1):Structured Output实战,让AI返回Java对象
后端
东风微鸣12 小时前
Argo CD 用户管理:本地用户配置与权限分离实践
git·后端