Redis Caching Strategies
2026-02-05·8 min read·Backend
Redis Data Structures
- String: Text, numbers, binary data
- List: Ordered collection
- Hash: Key-value pairs for objects
- Set: Unique unordered elements
- Sorted Set: Ordered with scores
Cache-Aside Pattern
async function getUser(id) {
let user = await redis.get('user:' + id)
if (user) return JSON.parse(user)
user = await db.query(...)
await redis.setex('user:' + id, 3600, JSON.stringify(user))
return user
}
Common Issues
- Cache Penetration: Cache null values
- Cache Avalanche: Add random TTL
- Cache Breakdown: Use mutex locks