使用缓存redis(cache-aside)保证数据的一致性
项目中常常会涉及到缓存的使用,但是引入缓存会带来一致性问题,需要考虑数据一致性处理。首先看一下操作逻辑,查询逻辑:更新或者删除逻辑在项目中,如果是cache-aside pattern模式,则会考虑使用先更新DB,再去删除cache的操作,原因分析如下:同时写数据库以及缓存数据,任何一个更新失败都会造成数据不一致。另外事务都成功,无论是先更新缓存还是再更新数据库,还是先更新数据库再更新缓存,这两种情况在并发的情况下也很容易出现双写不成功,操作时序如下图如果使用更新模式,先更新DB再更..