浅谈mysql和redis一致性问题

要保证一致性 那就是mysql和redis要保证原子性   

当然保证原子性是不可能的 可以有一种择优的方法  网上说双删 我感觉双删太复杂 我不建议采取

我方案就是

1 用redis记录下准备开始

2 缓存失效

3 读取数据库

4 数据库数据写入缓存

5 用redis记录下确保执行完

就是要保证 1到5 中间不能操作数据 ==原子性

所以每次操作数据都要保证1到5的完成

1 之前 也要保证没有操作 1 - 5 操作中没有其他操作 5 后随意

有2种方法可以解决

1 redis写互斥 (除了用setnx就可以) 就是TPS降低了 但也没办法 如果用常驻内存写互斥可能更快点 

这种情况一般用于排行榜用户信息存在redis          更新redis又要更新数据库 所以 缓存丢失的时候 一定要保证 一致  如果没这个需求就不用考虑一致性了

其实只要有钱 我觉得还是全部用mysql就行了  集群搞下。不就蛋疼缓存和mysql一致性问题了

原文地址:https://www.cnblogs.com/newmiracle/p/13957469.html