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.
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, 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