Gache notions
Basic idea
Like Memcached, plus...
- Usability:
- True FLUSHALL
- Single process for multiple bins
- Management
- Complete locking dump/restore
- Snapshots
- Tag support
- Pluggable storage
- Journaling
- Write-back/write-through replication
- Chained storage (fast → slow)
But probably slower overall, but more convenient.
Components
Server
- Runner
- Protocol handling (FSMs)
- Application: Memcache protocol proper
- Presentation: ASCII / Binary
- Transport "connection":
- TCP with persistent connections
- TCP without persistent connections
- UDP
- raw socketpair (stdin/stdout)
- Event handling
- Readline equivalence for ASCII presentation interactions
- Storage
- Pluggable storage
- Journaling
- Storage engines
- Memory
- Memcached, for use as a debugging proxy in front of a standard instance
- Others ?
- Memory
- Main memory allocation
- Slab allocator
- Reporting
- Background expiration lurker
Client library