Redis
A high-performance in-memory data structure store, focused on underlying data structure implementations and typical problems and solutions in cache design.
Redis is known for its rich data structures and very high throughput; it can serve as a cache and also as a counter, leaderboard or message queue. This subsection decomposes its engineering essentials from two dimensions: underlying encoding and cache design.
Articles
- Data Structures and Underlying Implementation — SDS, ziplist, skiplist, dict, and the encodings and conversion thresholds of each type.
- Cache Design — Penetration, breakdown, avalanche, Cache-Aside, big keys, hot keys and eviction policies.
Redis Data Structures and Underlying Implementation
SDS, ziplist, linkedlist, skiplist and dict, plus the underlying encodings and conversion thresholds of string/list/hash/set/zset.
Redis Cache Design
Causes and mitigations of cache penetration, breakdown and avalanche, Cache-Aside and consistency, big keys, hot keys, and expiration/eviction policies.