What problem does it solve? Teams using Redis often ship subtle correctness bugs: keys without TTLs that leak memory, non-atomic counters that race under concurrency, locks released with a plain DEL that delete someone else's lock, and Pub/Sub used for messages that must not be lost. This Skill encodes the rules that prevent those failures. ## Core Features & Use Cases - Key and TTL discipline: Mandates the <app>:<env>:<entity>:<id> key format and requires an expiry on every cache key. - Concurrency-safe patterns: Covers cache-aside reads, distributed locks with TTL plus unique owner ID and atomic Lua-based release, and atomic rate limiting via Lua scripts or pipelined transactions. - Durability and eviction guidance: Explains when Pub/Sub is acceptable versus Kafka/Streams, and how to choose maxmemory-policy per use case. - Use Case: While implementing a Spring service, a developer applies the cache-aside pattern with @Cacheable/@CacheEvict and uses a Redisson lock with tryLock and a TTL to guard a reservation workflow. ## Quick Start Review my Redis caching and locking code against the cache-redis rules and flag any violations.