README.md 1.2 KB

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