缓存数据库双写不一致如何解决?

120 阅读1分钟

1.延迟双删

更新完数据库,删除缓存,等3s再删除缓存

2.使用内存队列,线性访问

3.读写锁(读多写少)

针对同一个key,读数据加读锁,写数据加写锁,读锁和读锁不互斥,读锁和写锁互斥

4.设置缓存超时时间(读多写多)

不需要数据绝对一致

5.canal解决读多写多

写数据库,canal监听binlog更新redis缓存