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



相关推荐
程序员清风12 分钟前
网易三面:Java中默认使用的垃圾回收器及特点分版本说说?
java·后端·面试
hui函数14 分钟前
Python全栈(基础篇)——Day07:后端内容(函数的参数+递归函数+实战演示+每日一题)
后端·python
爱吃烤鸡翅的酸菜鱼20 分钟前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
分布式·git·后端·gitee·github
IT_陈寒22 分钟前
Python性能优化:5个让你的代码提速300%的NumPy高级技巧
前端·人工智能·后端
风象南25 分钟前
从RBAC到ABAC的进阶之路:基于jCasbin实现无侵入的SpringBoot权限校验
spring boot·后端
小蒜学长30 分钟前
jsp基于JavaWeb的原色蛋糕商城的设计与实现(代码+数据库+LW)
java·开发语言·数据库·spring boot·后端
JaguarJack35 分钟前
PHP 图像处理实战 GD/Imagick 从入门到精通,构建高性能图像服务
后端·php
海梨花3 小时前
今日八股——JVM篇
jvm·后端·面试
Pr Young7 小时前
服务优雅停止和服务优雅启动
后端
嘟嘟MD9 小时前
程序员副业 | 2025年9月复盘
后端·aigc