自学内容网 自学内容网

双写一致性问题

双写一致性问题:同一份数据,需要写数据库、写缓存。数据库中的数据和缓存中的数据要一致

解决办法:延迟双删
当我们要进行更新操作时,先删除缓存,再更新数据库,延迟几百ms再删除一次redis的缓存数据。

示例:
1.当我们在线程1中进行更新数据操作时,先删除了redis中的缓存,
2.这时切换到线程2中进行了数据查询操作,线程2未从缓存中查到数据,就从数据库中查到旧数据,并把旧数据存入缓存中,这时线程1把新数据更新入数据库,出现了双写不一致问题。
3.这时让线程1延迟几百ms后再删一次redis中的缓存。下次查询依旧会从数据库中得到新数据。
在这里插入图片描述


原文地址:https://blog.csdn.net/qq_29270805/article/details/137677894

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!