MySQL 和 Redis 怎么配合使用?缓存一致性怎么保证?
经典组合:Redis 做缓存加速读(Cache Aside),MySQL 做数据源。流程:读——先查 Redis,命中直接返回;miss 查 MySQL 回填 Redis(设 TTL);写——先更新 MySQL,再删 Redis(或延迟双删:更新 DB → 删缓存 → 延迟 N ms 再删一次,防并发读把旧值回填)。一致性权衡:① 强一致:直接读写 DB(缓存只读加速);② 最终一致:Cache Aside + 延迟双删 + 消息(DB binlog → Canal → 更新/删缓存);③ 常见坑:先删缓存后更新 DB 会因并发写导致缓存长期脏(用延迟双删/消息);④ 缓存雪崩/击穿/穿透防护(过期随机、互斥重建、布隆过滤器)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。