← ClaudeAtlas

kora-aop-cachinglisted

Kora caching via compile-time AOP — @Cacheable/@CachePut/@CacheInvalidate over Caffeine (in-process) or Redis (distributed). Use when adding caching, choosing Caffeine vs Redis, or fixing "required keyPrefix" graph errors.
kora-projects/kora-skills · ★ 1 · AI & Automation · score 72
Install: claude install-skill kora-projects/kora-skills
# Kora AOP Caching Skill > **Kora sub-skill — obey the [kora-v1 meta rules](../../SKILL.md) on every task:** **R0** ensure `.kora-agent/` docs+examples are cloned · **R1** read this sub-skill before writing code · **R2** Kora APIs only — no Spring/Micronaut/Quarkus, no invented annotations or config keys · **R3** journal any incorrect Kora usage. Add comments/Javadoc only if asked. **Focus:** Declarative caching via compile-time AOP annotations for Caffeine (in-process) and Redis (distributed) caches. Read this first when: - Adding cache to methods with `@Cacheable`, `@CachePut`, `@CacheInvalidate` - Configuring Caffeine or Redis cache backends - Creating custom cache key mappers with `CacheKeyMapper` - Setting up multi-level caching (L1 Caffeine + L2 Redis) --- ## Quick Start ### 1. Add Dependencies All Kora artifacts inherit their version from the `kora-parent` BOM, so never pin a version on a `ru.tinkoff.kora:*` dependency. The annotation processor is mandatory - without it the `@Cache`/`@Cacheable` aspects and the typed cache implementation are never generated. ```groovy dependencies { koraBom platform("ru.tinkoff.kora:kora-parent:$koraVersion") // e.g. 1.2.19 annotationProcessor "ru.tinkoff.kora:annotation-processors" // Kotlin: ksp "ru.tinkoff.kora:symbol-processors" // Local cache (Caffeine) - recommended for most cases implementation "ru.tinkoff.kora:cache-caffeine" // Or distributed cache (Redis/Lettuce) - for multi-pod shared state