Aem caching strategy
Skill prakash888kp/AEM-SKILLS/skills/tier-4-performance/aem-caching-strategy
A curated catalog of Adobe Experience Manager (AEM) skills organized into tiers, with dependency chains and contribution guidelines.From the repository description
npx -y skills add prakash888kp/AEM-SKILLS --skill aem-caching-strategyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
4.9 KB, ~1.0k tokens by cl100k_base, as published. Nobody here has run it
AEM Caching Strategy
Purpose
Design and implement multi-layer caching architectures spanning CDN, dispatcher, AEM in-memory caches, and application-level caches for optimal content delivery performance.
When to Use (Triggers)
- User mentions "caching," "cache invalidation," "cache strategy," or "TTL"
- References to dispatcher cache, CDN cache, Sling caching, or in-memory cache
- Questions about cache hit ratio, stale content, or cache warming
- Requests involving personalized content caching or edge-side includes
- Discussion of cache coherency, invalidation patterns, or cache hierarchy
Core Capabilities
- Design multi-tier caching architecture (CDN → Dispatcher → AEM → JCR)
- Configure TTL-based and event-based cache invalidation strategies
- Implement application-level caching for expensive computations
- Handle personalized content caching using Edge Side Includes (ESI) or client-side
- Optimize cache hit ratios across all caching layers
Domain Knowledge Required
Technical Foundation
- HTTP caching semantics (Cache-Control directives, Vary header, ETag, conditional requests)
- CDN architecture (edge caching, origin shield, cache keys, purge APIs)
- Cache invalidation patterns (TTL, event-based, tag-based, surrogate keys)
- Cache consistency models (eventual, strong, read-after-write)
AEM-Specific Context
- Dispatcher cache (file-based, stat file invalidation, auto-invalidation)
- AEM in-memory caches (Sling ResourceResolver cache, component output cache)
- Stat file level and its impact on invalidation scope
- Grace period configuration for serving stale content during refresh
- Client library fingerprinting for long-term asset caching
Implementation Approach
Step 1: Cache Architecture Design
Plan the caching layers and their responsibilities.
- Map content types to appropriate caching tiers
- Define TTL strategy per content type (static: days, pages: hours, API: minutes)
- Identify uncacheable content and alternatives (ESI, client-side, SDI)
- Plan cache key strategy (URL, headers, cookies that vary)
Step 2: CDN Configuration
Set up edge caching for global performance.
- Configure CDN caching rules per content type
- Set up surrogate keys or cache tags for targeted purge
- Implement origin shield to reduce load on dispatcher
- Configure WAF rules that don't break caching
Step 3: Dispatcher Cache Optimization
Maximize dispatcher cache effectiveness.
- Configure stat file level for granular invalidation
- Implement permission-sensitive caching where needed
- Set up cache warming after deployment or invalidation
- Configure grace period and serveStaleOnError
Step 4: Application-Level Caching
Implement in-AEM caching for expensive operations.
- Cache Sling Model computation results with TTL
- Implement query result caching for repeated queries
- Use Guava/Caffeine cache for service-level data caching
- Configure cache sizing based on available heap
Step 5: Invalidation Strategy
Implement coherent cache invalidation across all layers.
- Configure flush agents for dispatcher invalidation on publish
- Set up CDN purge triggers on content activation
- Implement tag-based invalidation for related content groups
- Design cache warming jobs post-invalidation
Quality Checklist
- CDN cache hit ratio > 95% for static assets
- Dispatcher cache hit ratio > 85% for page content
- No stale content visible beyond defined TTL
- Cache invalidation triggers within 30 seconds of publish
- Personalized content doesn't pollute shared cache
- Cache warming covers critical user paths after deploy
- Application-level caches bounded and don't cause OOM
- Monitoring in place for cache hit ratios across all layers
Related Skills
- aem-dispatcher-configuration (dispatcher cache details)
- aem-performance-tuning-profiling (performance measurement)
- aem-content-api-headless (API response caching)
Example Use Cases
- E-commerce Product Pages: Implement multi-layer caching for 50,000 product pages with personalized pricing (client-side fetch), shared product details (dispatcher cache, 1h TTL), and static assets (CDN, 1y TTL with fingerprinting).
- News Site with Breaking Content: Design caching strategy balancing freshness (5-minute TTL for homepage) with performance (long TTL for article pages), using Sling Dynamic Include for personalized sidebar content.
- Global CDN with Regional Content: Configure CDN caching with Vary header on geo-location for region-specific content, surrogate key purging for content updates, and edge-side includes for user-specific navigation.
Notes
- Dispatcher cache is file-based — every cached response is a file on disk; monitor disk space
- Stat file invalidation invalidates entire subtrees — set stat file level carefully
- Never cache responses with Set-Cookie headers — this caches session identifiers
- AEM Cloud Service includes built-in CDN — configure via dispatcher rules, not separate CDN config
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.