-
Notifications
You must be signed in to change notification settings - Fork 0
Block render cache (per-block, version-keyed) #108
Copy link
Copy link
Closed
Labels
area:block-editorBlock editor frontendBlock editor frontendarea:cacheCache layers + invalidationCache layers + invalidationphase:P3-themesPhase 3 — ThemesPhase 3 — Themespriority:P2Nice to haveNice to haveskill:goGo programmingGo programmingtype:perfPerformance improvementPerformance improvement
Milestone
Metadata
Metadata
Assignees
Labels
area:block-editorBlock editor frontendBlock editor frontendarea:cacheCache layers + invalidationCache layers + invalidationphase:P3-themesPhase 3 — ThemesPhase 3 — Themespriority:P2Nice to haveNice to haveskill:goGo programmingGo programmingtype:perfPerformance improvementPerformance improvement
Type
Fields
Give feedbackNo fields configured for issues without a type.
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