Redis核心数据结构-list

--- List: 双向链表 ---

1. 模拟队列 (Queue): 先进先出 (FIFO)

生产者: 从左侧推入任务

LPUSH task_queue "task_1"

LPUSH task_queue "task_2"

LPUSH task_queue "task_3"

查看队列所有元素 (0 -1 表示从头到尾)

注意: 结果是 task_3, task_2, task_1 (因为是 Left Push)

LRANGE task_queue 0 -1

消费者: 从右侧弹出任务

RPOP task_queue

返回 "task_1"

2. 模拟栈 (Stack): 后进先出 (LIFO)

LPUSH my_stack "page_1"

LPUSH my_stack "page_2"

弹出栈顶

LPOP my_stack

返回 "page_2"

3. 固定长度列表 (例如: 最近 5 条日志)

LPUSH recent_logs "log_1"

LPUSH recent_logs "log_2"

LPUSH recent_logs "log_3"

只保留最新的 2 条

LTRIM recent_logs 0 1

LRANGE recent_logs 0 -1

bash 复制代码
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> LPUSH task_queue "task_1"
(integer) 1
127.0.0.1:6379> LPUSH task_queue "task_2"
(integer) 2
127.0.0.1:6379> LPUSH task_queue "task_3"
(integer) 3
127.0.0.1:6379> LRANGE task_queue 0 -1
1) "task_3"
2) "task_2"
3) "task_1"
127.0.0.1:6379> RPOP task_queue
"task_1"
127.0.0.1:6379> LPUSH my_stack "page_1"
(integer) 1
127.0.0.1:6379> LPUSH my_stack "page_2"
(integer) 2
127.0.0.1:6379> LPOP my_stack
"page_2"
127.0.0.1:6379> LPUSH recent_logs "log_1"
(integer) 1
127.0.0.1:6379> LPUSH recent_logs "log_2"
(integer) 2
127.0.0.1:6379> LPUSH recent_logs "log_3"
(integer) 3
127.0.0.1:6379> LTRIM recent_logs 0 1
OK
127.0.0.1:6379> LRANGE recent_logs 0 -1
1) "log_3"
2) "log_2"
127.0.0.1:6379> 
相关推荐
疋瓞16 小时前
python和C++对比(1)_数据类型和数据结构
数据结构·c++·python
如此这般英俊17 小时前
手搓Claude Code-第六章 subagent
数据结构·人工智能·python·语言模型·自然语言处理
Tairitsu_H18 小时前
[LC优选算法#17] 链表 | 合并 K 个升序链表 | K个⼀组翻转链表
数据结构·算法·链表
zwenqiyu20 小时前
非线性字符串数据结构串讲
数据结构·c++·学习·算法
东华万里21 小时前
第32篇 数据结构入门 单链表的增删查改实现
数据结构·链表
OOJO1 天前
哈希表实现
数据结构·哈希算法·散列表
无小道1 天前
Redis——集群
redis·集群
用户6757049885021 天前
Redis 分布式锁的 5个坑,真的是又大又深!!
redis·后端
spider_xcxc1 天前
Redis 深度实践:安全管控、性能压测与持久化分析(二)
运维·前端·redis·云计算·bootstrap·运维开发
2501_943782331 天前
【共创季稿事节】鸿蒙原生 ArkTS 布局实现 Column + List + Navigation 协作导航 — 从列表渲染到页面切换的完整实践
学习·华为·list·harmonyos·鸿蒙