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



相关推荐
数智化管理手记40 分钟前
精益生产中的TPM管理是什么?一文破解设备零故障的密码
服务器·网络·数据库·低代码·制造·源代码管理·精益工程
翊谦1 小时前
Java Agent开发 Milvus 向量数据库安装
java·数据库·milvus
難釋懷2 小时前
OpenResty实现Redis查询
数据库·redis·openresty
别抢我的锅包肉2 小时前
【MySQL】第四节 - 多表查询、多表关系全解析
数据库·mysql·datagrip
Database_Cool_2 小时前
OpenClaw-Observability:基于 DuckDB 构建 OpenClaw 的全链路可观测体系
数据库·阿里云·ai
刘~浪地球3 小时前
Redis 从入门到精通(五):哈希操作详解
数据库·redis·哈希算法
zzh0813 小时前
MySQL高可用集群笔记
数据库·笔记·mysql
Shely20174 小时前
MySQL数据表管理
数据库·mysql
爬山算法4 小时前
MongoDB(80)如何在MongoDB中使用多文档事务?
数据库·python·mongodb
APguantou4 小时前
NCRE-三级数据库技术-第2章-需求分析
数据库·需求分析