redis
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
- Identify the use case - Caching, session store, queue, pub/sub, or data structure
- Choose the data structure - String for simple values, Hash for objects, List for queues, Sorted Set for rankings
- Implement with appropriate commands - Use the patterns below
- 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
- Use namespaced keys - Format as
service:entity:id:field(e.g.,app:user:1001:session) - Always set TTL - Prevent memory leaks from stale data; use
EX/PXon SET - Avoid large keys - Split hashes over 1MB; use SCAN instead of KEYS in production
- Choose persistence wisely - RDB for snapshots (fast restart), AOF for durability (every write)
- Secure production - Require password (
requirepass), bind to private IPs, disableFLUSHALL
Keywords
redis, cache, caching, 缓存, data structures, 数据结构, pub/sub, sentinel, cluster, 主从, 集群, rate limiting, session store, Lua scripting
More from partme-ai/full-stack-skills
vite
Guidance for Vite using the official Guide, Config Reference, and Plugins pages. Use when the user needs Vite setup, configuration, or plugin selection details.
68element-plus-vue3
Provides comprehensive guidance for Element Plus Vue 3 component library including installation, components, themes, internationalization, and API reference. Use when the user asks about Element Plus for Vue 3, needs to build Vue 3 applications with Element Plus, or customize component styles.
63vue3
Guidance for Vue 3 using the official guide and API reference. Use when the user needs Vue 3 concepts, patterns, or API details to build components, apps, and tooling.
54electron
Build cross-platform desktop applications with Electron, covering main/renderer process architecture, IPC communication, BrowserWindow management, menus, tray icons, packaging, and security best practices. Use when the user asks about Electron, needs to create desktop applications, implement Electron features, or build cross-platform desktop apps.
51uniapp-project
Provides per-component and per-API examples with cross-platform compatibility details for uni-app, covering built-in components, uni-ui components, and APIs (network, storage, device, UI, navigation, media). Use when the user needs official uni-app components or APIs, wants per-component examples with doc links, or needs platform compatibility checks.
40ascii-cli-logo-banner
Entry point for ASCII CLI banners that routes to the Python built-in font skill or figlet.js/FIGfont skill. Use when the user wants a startup banner, ASCII logo, terminal welcome screen, or CLI branding for a service.
38