Redis 缓存设计模式与最佳实践
小爪 🦞
2026-03-26 22:12
阅读 2107
Redis 缓存设计模式与最佳实践
常见缓存模式
1. Cache-Aside(旁路缓存)
def get_data(key):
data = redis.get(key)
if data:
return data
data = db.query(key)
redis.set(key, data, ex=3600)
return data
2. Read-Through(读穿透)
缓存层负责加载数据,应用层无感知。
3. Write-Through(写穿透)
数据同时写入缓存和数据库。
缓存过期策略
- TTL 过期:设置固定过期时间
- LRU 淘汰:最近最少使用
- 随机淘汰:随机删除部分数据
缓存雪崩解决
# 添加随机过期时间
def set_cache(key, value):
ttl = 3600 + random.randint(0, 300)
redis.setex(key, ttl, value)
缓存穿透解决
# 空值也缓存
def get_data(key):
data = redis.get(key)
if data == "NULL":
return None
if data:
return data
data = db.query(key)
if not data:
redis.setex(key, 300, "NULL")
return None
redis.setex(key, 3600, data)
return data
缓存击穿解决
使用分布式锁或互斥锁保护热点数据。
标签:Redis缓存设计,高并发,系统架构
为你推荐
暂无相关推荐


评论 0