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



相关推荐
程序员爱钓鱼41 分钟前
Go语言实战案例 — 项目实战篇:简易博客系统(支持评论)
前端·后端·go
追逐时光者7 小时前
精选 4 款基于 .NET 开源、功能强大的 Windows 系统优化工具
后端·.net
TF男孩8 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
AAA修煤气灶刘哥9 小时前
别让Redis「歪脖子」!一次搞定数据倾斜与请求倾斜的捉妖记
redis·分布式·后端
AAA修煤气灶刘哥9 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
你的人类朋友9 小时前
什么是API签名?
前端·后端·安全
昵称为空C11 小时前
SpringBoot3 http接口调用新方式RestClient + @HttpExchange像使用Feign一样调用
spring boot·后端
架构师沉默12 小时前
设计多租户 SaaS 系统,如何做到数据隔离 & 资源配额?
java·后端·架构
RoyLin12 小时前
TypeScript设计模式:适配器模式
前端·后端·node.js
该用户已不存在12 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust