Cache à la carte: a framework for in-memory caching
summary
A modular cache framework called Pelican replaces forks of memcached and Redis with three protocol-compatible binaries, aims for predictable tail latencies even near 100% CPU, and enforces a fixed memory footprint to avoid OOM kills in containers. It adds weightless logging via ring buffers, isolates data and control planes, and lets new backends be written in about 1000 LOC — for example a cuckoo‑hashing slim cache that claims a 90% reduction in metadata overhead and has seen production deploys.
AI-written summary · about
chapters (30)
- 0:00Intro
- 0:26ABOUT ME
- 1:05ABOUT THE TALK
- 2:43DEPLOYMENT & SCALE
- 5:33A "SOLVED" PROBLEM
- 7:40COMMON CHALLENGES
- 13:12THE CACHE WE WANT
- 13:48A DIRTY LITTLE SECRET
- 17:08PREDICTABLE
- 19:44OBSERVABLE
- 22:54FLEXIBLE
- 24:41ARCHITECTURE OVERVIEW
- 26:23AND FOR EACH MODULE
- 26:44JUDICIOUS CODE REUSE
- 28:46CORE DECISIONS
- 30:49DEVELOPMENT
- 32:25LOG STATS. CONFIG
- 34:07DECLARE/INITIALIZE METRICS
- 34:44UPDATE METRICS
- 34:54INCLUDE METRICS
- 35:30BUFFER, CHANNEL, STREAM
- 37:31STRUCTURAL SYMMETRY
- 38:38STANDARD FLOW
- 39:47CASE STUDY: HOW MUCH CODE
- 40:31CASE STUDY:ADD SLIMCACHE
- 41:51SLIMCACHE: CUCKOO HASHING
- 42:07IN SUMMARY
- 43:08FOR TWITTER
- 43:55FOR THE REST
- 46:18LESSONS LEARNED
related talks
12mSegcache: a memory-efficient and scalable in-memory key-value cache for small objects
25mMemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing
53mLeveraging Caching For Cloud Native Applications
45mWhere is my cache? Architectural patterns for caching microservices by example
32mCache me if you can: Boosted application performance with Redis and client-side caching
36mCaching Strategies for an Erlang Based Web Stack
44mHow to speed up your application using JCache
13mBMC: Accelerating Memcached using Safe In-kernel Caching and Pre-stack Processing
