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