跳表

从零构建 Redis-like 服务器:RESP 协议、跳表索引与过期淘汰策略的 Rust 工程实践

在构建高性能服务时,键值存储是最基础也最重要的组件之一。Redis 凭借其出色的性能和简洁的设计,成为了事实上的标准。本文将从零开始,用 Rust 构建一个兼容 Redis 协议的最小可用服务器,深入探讨 RESP 协议解析、跳表(Skip List)索引实现、键过期淘汰策略以及事件驱动架构的设计思路。

跳表(Skip List)深度实战:从随机层数、概率平衡到 Redis zset 与 LevelDB MemTable 的工程全解

跳表(Skip List)是 1989 年 William Pugh 在论文《Skip Lists: A Probabilistic Alternative to Balanced Trees》里提出的一种**概率性平衡的有序数据结构**。它要解决的,是平衡二叉搜索树(AVL、红黑树、B 树)在工程里一个长期被忽视的痛点:**为了维持"平衡",它们不得不在每次插入删除时做复杂的旋转(rotatio…