1、redis的缓存一致性问题=缓存中的数据和数据库中的数据如何保证一致性?
一、redis的常用的两种模式
注意以下两种模式,在大并发下,都会存在一定的漏洞。
1.1、双写模式
修改数据库的同时,修改缓存。如果有两个并发同时进行,第一个修改数据库后有延缓(由于各种原因导致的),在这期间第二个修改进行,紧接着第二个的修改缓存进行。导致第一个修改缓存最后执行,导致了脏数据的出现。
1.1.1、双写模式的解决方案一------------>加锁的方式
可以通过加锁的方式,将写数据库和写缓存这两个操作加锁实现。一组 写数据库和写缓存 执行完,才执行第二次。