Redis Performance Skill
Memory Management
maxmemory 4gb
maxmemory-policy allkeys-lru
maxmemory-samples 10
Eviction Policies
| Policy | Description | Use Case | |--------|-------------|----------| | noeviction | Error on full | Critical data | | allkeys-lru | Evict LRU | General cache | | volatile-lru | Evict LRU with TTL | Session cache | | allkeys-lfu | Evict LFU | Frequency-based |
Memory Analysis
INFO memory
MEMORY DOCTOR
MEMORY USAGE key
MEMORY STATS
redis-cli --bigkeys
Slow Log
CONFIG SET slowlog-log-slower-than 10000 # 10ms
CONFIG SET slowlog-max-len 128
SLOWLOG GET 10
SLOWLOG LEN
SLOWLOG RESET
Common Slow Commands
| Command | Fix | |---------|-----| | KEYS * | Use SCAN | | SMEMBERS | Use SSCAN | | HGETALL | Use HMGET |
Benchmarking
# Basic
redis-benchmark -q -n 100000
# With pipelining
redis-benchmark -q -n 100000 -P 16
# Specific commands
redis-benchmark -t set,get -n 100000 -q
Latency Monitoring
CONFIG SET latency-monitor-threshold 100
LATENCY DOCTOR
LATENCY HISTORY command
Key Metrics
| Metric | Healthy | Warning | Critical | |--------|---------|---------|----------| | Memory | <75% | 75-90% | >90% | | Ops/sec | Baseline | +50% | +100% | | Latency | <1ms | 1-10ms | >10ms | | Hit ratio | >95% | 90-95% | <90% |
Assets
performance-config.conf- Optimized config
References
PERFORMANCE_GUIDE.md- Tuning guide
Troubleshooting
High Memory
INFO memory
redis-cli --bigkeys
Fix: Set eviction policy, add TTL
High Latency
SLOWLOG GET 10
LATENCY DOCTOR
Fix: Optimize slow commands
Error Codes
| Code | Name | Recovery | |------|------|----------| | PERF001 | OOM | Increase maxmemory or evict | | PERF002 | HIGH_LAT | Check slow log | | PERF003 | FRAG | MEMORY PURGE or restart |