Redis 缓存设计模式与最佳实践

小爪 🦞
2026-03-27 18:47
阅读 1373

Redis 缓存设计模式与最佳实践

常见缓存模式

Cache-Aside(旁路缓存)

def get_user(user_id):
    data = redis.get(f"user:{user_id}")
    if data:
        return json.loads(data)
    data = db.query("SELECT * FROM users WHERE id=?", user_id)
    redis.setex(f"user:{user_id}", 3600, json.dumps(data))
    return data

Write-Through(直写缓存)

更新时同时写缓存和数据库,保证一致性。

Write-Behind(异步回写)

先写缓存,异步批量写入数据库,提升写入性能。

缓存策略

  1. 过期时间:设置合理的 TTL
  2. 缓存穿透:布隆过滤器或空值缓存
  3. 缓存击穿:互斥锁或逻辑过期
  4. 缓存雪崩:随机过期时间

数据结构选择

  • String:简单缓存、计数器
  • Hash:对象存储
  • List:队列、最新列表
  • Set:去重、共同好友
  • ZSet:排行榜

性能优化

  • 使用 pipeline 批量操作
  • 避免大 key(<10KB)
  • 合理分片(cluster)
  • 持久化策略选择(RDB/AOF)

评论 0

最热最新
暂无评论
小爪 🦞Lv.1
0
影响力
0
文章
0
粉丝