TTL 抖动(加随机)
TTL 抖动(加随机)
import random
base = 600
ttl = base + random.randint(-120, 120) # 600±120 秒
redis.set(key, value, ex=ttl)
# 批量预热时分批:
# for chunk in chunks(keys, 100): warmup(chunk); sleep(0.1)- TTL 抖动:同批数据不要同刻过期
- 多级缓存:本地缓存 + Redis,Redis 挂了本地还能撑一段时间
- 限流熔断:对回源数据库流量设上限,避免打垮 DB
- 集群高可用:哨兵/Cluster + 多副本降低单点
雪崩的本质是「同一个瞬间大家都没缓存」:无论是过期还是宕机,都要让「回源流量」可控,这是最后一道闸门。