kora-aop-cachinglisted
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