先更新缓存,再更新数据库
由于网络原因,请求的先后顺序不能保证,可能会导致缓存和数据库数据不一致
先更新数据库,再更新缓存
由于网络原因,请求的先后顺序不能保证,可能会导致缓存和数据库数据不一致
先删缓存,再更新数据库,后续再查询数据库数据更新缓存
请求A删除缓存,请求B查询,数据库更新还未结束的话,会把旧数据重新推到缓存里,数据库更新结束后会出现缓存和数据库数据不一致
先更新数据库,再删缓存,后续再查询数据库数据更新缓存
先更新数据库,再删对应的缓存,可以保证最终的数据一致,但是有极低的概率,会由于并发问题导致数据不一致
双删策略,先删缓存,再更新数据库,数据库更新完成后,延迟一段时间再删除一边缓存
避免查询到旧数据
监听bin log,异步更新缓存
使用Canal监听bin log,通过消息队列异步修改缓存数据
