数据库与Redis数据一致性解决方案
在写数据时保证 Redis 和数据库数据一致,可采用以下方案,需根据业务场景权衡选择:
1. 先更新数据库,再更新 Redis
步骤:
- 写入 / 更新数据库数据。
- 删除或更新 Redis 缓存。
- 适用场景:读多写少,对缓存一致性要求不高(短暂不一致可接受)。
- 风险:若第二步失败,导致缓存与数据库不一致。
2. 先删除 Redis,再更新数据库(延迟双删)
步骤:
- 删除 Redis 缓存。
- 写入 / 更新数据库数据。
- 延迟一段时间后,再次删除 Redis 缓存(解决主从同步延迟问题)。
- 适用场景:写操作频繁,需降低缓存脏读概率。
- 关键点:
- 延迟时间需大于数据库主从同步耗时。
- 需处理高并发下的缓存穿透问题。