IT袋

当前位置:主页 > 经验教程 > 建站编程 >

如何保证缓存与数据库的双写一致性

如何保证缓存与数据库的双写一致性(2)

时间:2023-11-22 12:47:18 来源:IT袋 作者:马勇
导读:如何保证缓存与数据库的双写一致性,先删除缓存,再更新数据库,异常情况下步骤如下 : 步骤一: 线程一先删除缓存 步骤二: 线程一在没有完成删除缓存和更新数据库步骤下,就切换到线程二,

如何保证缓存与数据库的双写一致性

如何保证缓存与数据库的双写一致性

先删除缓存,再更新数据库,异常情况下步骤如下:

  • 步骤一: 线程一先删除缓存
  • 步骤二: 线程一在没有完成删除缓存和更新数据库步骤下,就切换到线程二,线程二查询缓存未命中,查询数据库,v=10
  • 步骤三:线程二查询数据库后将缓存写入redis,缓存结果v=10
  • 步骤四: 切换到线程一更新数据库v=20

如何保证缓存与数据库的双写一致性

结论:先删除缓存,再更新数据库可能出现脏数据

1.3.先更新数据库,再删除缓存

假设,缓存和数据库值都是10

如何保证缓存与数据库的双写一致性

先更新数据库,再删除缓存,正常情况下步骤如下:

  • 步骤一: 线程二先更新数据库v=20
  • 步骤二: 线程二再删除缓存
  • 步骤三: 线程一查询缓存,未命中,查询数据库v=20
  • 步骤四: 线程一将查询结果写入缓存redis,缓存结果v=20

相关阅读

  • Ceph分布式存储集群部署详细步骤教程

    Ceph分布式存储集群部署详细步骤教程

    为大家介绍Ceph分布式存储集群部署详细步骤教程的方法内容,相关内容具体如下: Ceph的部署工具: ceph-deploy:官方的部署工具,不再积极维护ceph-deploy。它不支持RHEL8,CentOS 8或更新的操作系

  • 前端模板网站有哪些 关于web制作网站的模板

    前端模板网站有哪些 关于web制作网站的模板

    全面为您解析前端模板网站有哪些和关于web制作网站的模板的内容,接下来分享详细内容。 1.GitHub Desktop 对于新手来说,要记住那么多git命令可能有点困难,建议新手用git可视化工具,会方便

  • 什么是802.11ac WIFI5? 802.11ac最大传输速率

    什么是802.11ac WIFI5? 802.11ac最大传输速率

    今天为大家介绍什么是802.11acIT技巧方面的经验,下面小编为您详细解答 802.11ac,也被称为WiFi 5,是无线局域网(WLAN)的一种标准,旨在提供更快的数据传输速度和更好的性能。该标准于2013年

  • 中间件解析:概念、类型与实际应用全面探讨

    中间件解析:概念、类型与实际应用全面探讨

    为网友们详解中间件解析的教程内容,一起来看看吧! 一、什么是中间件 在软件开发领域,中间件(Middleware)是一种位于操作系统和应用程序之间的软件,它为应用程序提供了一种统一的、