Summary
Implement a Redis-backed fragment cache per doc 07 §15.3. Stored as frag:{key} keys with sibling tag:{tag} sets whose members are keys. InvalidateTags does a SUNION and DEL pipeline. Default TTL 5 minutes as safety net; tag invalidation is the primary mechanism. LRU-trim tag sets at 100k members (if a tag touches that many fragments, the cache hierarchy is wrong).
Design reference
- docs/07-media-performance.md §15.3
Acceptance criteria
Dependencies
none
Complexity
M
Summary
Implement a Redis-backed fragment cache per doc 07 §15.3. Stored as
frag:{key}keys with siblingtag:{tag}sets whose members are keys.InvalidateTagsdoes aSUNIONandDELpipeline. Default TTL 5 minutes as safety net; tag invalidation is the primary mechanism. LRU-trim tag sets at 100k members (if a tag touches that many fragments, the cache hierarchy is wrong).Design reference
Acceptance criteria
FragmentCacheinterface implemented per §15.3 signature (Get,Set,InvalidateTags)frag:{key}; tag membership via Redis setstag:{tag}InvalidateTagsusesSUNION+ pipelinedDELSetcall)Dependencies
none
Complexity
M