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



相关推荐
卓怡学长3 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
谭光志4 小时前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
GoGeekBaird4 小时前
我用 BeeWeave 跑完了一次完整写作闭环
后端·github
J-Tony115 小时前
【Redis】 Redis 是单线程还是多线程
服务器·数据库·mysql
这个DBA有点耶5 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
IvorySQL5 小时前
PG 日报|SQL/PGQ 图查询基于联接重写机制实现
数据库·人工智能·sql·postgresql·区块链·ivorysql
仿生狮子6 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
Reart8 小时前
Leetcode 213.打家劫舍2(内含闲谈,打劫真是技术活,好题,716)
后端·算法
触底反弹8 小时前
🔥 RAG 到底是怎么工作的?掰开揉碎了给你讲明白!
javascript·人工智能·后端
数聚天成DeepSData9 小时前
遥感农业数据集下载全攻略
数据库·人工智能·深度学习·机器学习·自然语言处理·数据挖掘