redis:四、双写一致性的原理和解决方案(延时双删、分布式锁、异步通知MQ/canal)、面试回答模板
双写一致性场景导入如果现在有个数据要更新,是先删除缓存,还是先操作数据库呢?当多个线程同时进行访问数据的操作,又是什么情况呢?以先删除缓存,再操作数据库为例多个线程运行的正常的流程应该如下:线程1先访问数据,它首先删除缓存,然后更新数据库。之后线程2来查询缓存,未命中后查询数据库,随后写入缓存。也就是说,线程1负责删除缓存并更新数据库,线程2负责查询数据库并写入缓存。但如果线程2在线程1还未更新数