valkey

Valkey (Redis-compatible) in-memory data store for caching, session storage, pub/sub, queues, and distributed locks. Use when configuring Valkey or Redis-compatible caching, choosing eviction policies, implementing rate limiting, setting up pub/sub or streams, writing Docker Compose services, migrating from Redis, or tuning performance. Use for valkey, redis, cache, session, pub/sub, streams, distributed-lock, rate-limit, sorted-set.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "valkey" with this command: npx skills add oakoss/agent-skills/oakoss-agent-skills-valkey

Valkey

Open-source, Redis-compatible in-memory data store maintained by the Linux Foundation. Forked from Redis OSS 7.2.4 (BSD 3-Clause license). Drop-in replacement for Redis OSS 2.x through 7.2.x — same protocol, commands, and data formats.

When to use: Caching, session storage, rate limiting, pub/sub messaging, task queues, leaderboards, distributed locks, real-time counters, or any workload requiring sub-millisecond key-value operations.

When NOT to use: Primary relational data store, large object storage (>512 MB values), workloads requiring strong ACID transactions across multiple keys without Lua scripting.

Quick Reference

TaskApproachKey Point
Cache-asideGET -> miss -> DB read -> SET key val EX ttlAlways set a TTL, even a long one
Session storageHSET session:{id} field val + EXPIRESliding TTL on each request
Rate limitingINCR + EXPIRE (fixed window) or sorted set (sliding)Sorted set for precision
Distributed lockSET lock:{res} token NX PX 30000Always set expiry to prevent deadlocks
Queue (simple)LPUSH + BRPOPBlocking pop with timeout
Queue (reliable)Streams + XGROUP + XACKConsumer groups for at-least-once
Pub/SubSUBSCRIBE / PUBLISHFire-and-forget, no persistence
StreamsXADD + XREADGROUPPersistent, replayable, consumer groups
LeaderboardSorted set: ZADD / ZREVRANGEO(log N) rank operations
Unique countPFADD + PFCOUNT (HyperLogLog)~12 KB memory, 0.81% error
Eviction policymaxmemory-policy allkeys-lruBest default for most workloads
Docker setupvalkey/valkey:8.1-alpineHealth check: valkey-cli ping
PersistenceAOF (appendonly yes) + RDB snapshotsAOF for durability, RDB for backups
Client libraryioredis or iovalkey (official fork)All Redis clients work unchanged
Migrate from RedisSwap binary, keep data filesRDB/AOF compatible through Redis 7.2

Common Mistakes

MistakeCorrect Pattern
Using KEYS * in productionUse SCAN with cursor for iteration
No TTL on cache keysAlways set TTL — unbounded growth causes OOM
DEL on large keys blocking serverUse UNLINK for async deletion
Pub/Sub for durable messagingUse Streams with consumer groups for persistence
Same TTL on all keys (thundering herd)Add jitter: EX (base + random(0, spread))
No maxmemory set in productionSet maxmemory + eviction policy explicitly
Using MULTI/EXEC for lockingUse SET ... NX PX for distributed locks
Storing large blobs (>1 MB values)Store references; keep values small
No health check in Docker ComposeAdd valkey-cli ping health check
Ignoring requirepass in productionAlways set authentication + ACLs

Delegation

  • Discover caching patterns and data model review: Use Explore agent
  • Plan migration strategy from Redis to Valkey: Use Plan agent
  • Implement full caching layer with tests: Use Task agent

If the docker skill is available, delegate Compose networking and multi-stage build patterns to it. If the performance-optimizer skill is available, delegate application-level caching strategy to it. If the database-security skill is available, delegate ACL and TLS configuration review to it.

References

  • Data structures and commands -- Strings, hashes, lists, sets, sorted sets, streams, HyperLogLog, bitmaps, geospatial
  • Caching patterns -- Cache-aside, write-through, TTL strategies, eviction policies, client-side caching, invalidation
  • Common patterns -- Rate limiting, distributed locks, queues, session storage, pub/sub, streams, leaderboards
  • Docker and deployment -- Compose setup, persistence, replication, Sentinel, Cluster, security, migration from Redis

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

playwright

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

ui-ux-polish

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

tanstack-form

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

find-skills

No summary provided by upstream source.

Repository SourceNeeds Review