Summary
Per-block server-render cache per doc 07 §15.5 keyed by block:{block_type}:{attrs_hash}:{content_version}. Bumping content_version is the invalidation mechanism (one Redis INCR per relevant content change). Opt-in per block type via the server-render contract (cacheable: true | false | { ttl, version_tags: [...] }). Static blocks (paragraph, heading) cache effectively forever.
Design reference
- docs/07-media-performance.md §15.5
Acceptance criteria
Dependencies
#fragment-cache
Complexity
M
Summary
Per-block server-render cache per doc 07 §15.5 keyed by
block:{block_type}:{attrs_hash}:{content_version}. Bumpingcontent_versionis the invalidation mechanism (one Redis INCR per relevant content change). Opt-in per block type via the server-render contract (cacheable: true | false | { ttl, version_tags: [...] }). Static blocks (paragraph, heading) cache effectively forever.Design reference
Acceptance criteria
BlockRenderCacheinterface; Redis-backed implementationblock:{block_type}:{attrs_hash}:{content_version}content_versionbumped viaINCRon relevant content changes (e.g., post writes bump the global post version)content_version(attribute-only)cacheableopt-in declared in server-render contract per block typecore/latest-posts,core/post-list,core/commentsDependencies
#fragment-cache
Complexity
M