Redis list 数据结构和典型API
数据结构
list 的底层实现——quicklist
底层结构:quicklist(快速列表)。
当前结构:在最新的 Redis(Redis 7.0 及以后版本)中,对象的底层物理存储结构已经全面进化为 quicklist。quicklist 是一个双向链表,每个节点都是一个 listpack(在旧版本中是 ziplist)。它结合了链表修改快的优点和数组内存紧凑、利用率高的优点。
1
Redis List = 外层双向链表(保证扩展性) + 内层 listpack(保证内存紧凑和避免连锁更新)。
数据特点:
- 如果你想用 List 实现堆栈 (Stack),只需遵循 “同进同出”(例如
lpush+lpop); - 如果你想实现队列 (Queue),只需遵循 “异进异出”(例如
lpush+rpop)。
- 如果你想用 List 实现堆栈 (Stack),只需遵循 “同进同出”(例如