Agent Skills: Set a cache entry with 5-minute TTL

Guides Redis usage including data structures (strings, hashes, lists, sets, sorted sets), caching patterns, pub/sub, persistence (RDB/AOF), clustering, and Lua scripting. Use when the user needs to implement caching, session storage, rate limiting, queues, or any Redis-based data layer.

UncategorizedID: teachingai/full-stack-skills/redis

Install this agent skill to your local

pnpm dlx add-skill https://github.com/partme-ai/full-stack-skills/tree/HEAD/skills/database-skills/redis

Skill Files

Browse the full folder contents for redis.

Download Skill

Loading file tree…

skills/database-skills/redis/SKILL.md

Skill Metadata

Name
redis
Description
"Guides Redis usage including data structures (strings, hashes, lists, sets, sorted sets), caching patterns, pub/sub, persistence (RDB/AOF), clustering, and Lua scripting. Use when the user needs to implement caching, session storage, rate limiting, queues, or any Redis-based data layer."

When to use this skill

Use this skill whenever the user wants to:

  • Use Redis data structures (string, hash, list, set, sorted set) and commands
  • Implement caching, session storage, rate limiting, or message queues with Redis
  • Configure persistence (RDB/AOF), replication, Sentinel, or Redis Cluster
  • Write Lua scripts for atomic Redis operations
  • Connect via redis-cli or language drivers (connection pooling, serialization)

How to use this skill

Workflow

  1. Identify the use case - Caching, session store, queue, pub/sub, or data structure
  2. Choose the data structure - String for simple values, Hash for objects, List for queues, Sorted Set for rankings
  3. Implement with appropriate commands - Use the patterns below
  4. Configure persistence and replication - Based on durability requirements

Quick-Start Example: Caching with TTL

# Set a cache entry with 5-minute TTL
redis-cli SET user:1001:profile '{"name":"Alice","role":"admin"}' EX 300

# Retrieve the cached value
redis-cli GET user:1001:profile

# Check remaining TTL
redis-cli TTL user:1001:profile

Rate Limiting with Sorted Sets

# Add request timestamp to sorted set
redis-cli ZADD rate:user:1001 1710000000 "req1"

# Count requests in the last 60 seconds
redis-cli ZRANGEBYSCORE rate:user:1001 1709999940 1710000000

# Remove expired entries
redis-cli ZREMRANGEBYSCORE rate:user:1001 0 1709999940

Best Practices

  1. Use namespaced keys - Format as service:entity:id:field (e.g., app:user:1001:session)
  2. Always set TTL - Prevent memory leaks from stale data; use EX/PX on SET
  3. Avoid large keys - Split hashes over 1MB; use SCAN instead of KEYS in production
  4. Choose persistence wisely - RDB for snapshots (fast restart), AOF for durability (every write)
  5. Secure production - Require password (requirepass), bind to private IPs, disable FLUSHALL

Keywords

redis, cache, caching, 缓存, data structures, 数据结构, pub/sub, sentinel, cluster, 主从, 集群, rate limiting, session store, Lua scripting