🔔什么是双写一致性? 指的是当我们更新了数据库的数据之后Redis中的数据 也要同步去更新。使用redis读取数据的流程,当用户访问数据的时候,会先从缓存中读取数据,如果命中缓存的话,
指的是当我们更新了数据库的数据之后Redis中的数据 也要同步去更新。使用redis读取数据的流程,当用户访问数据的时候,会先从缓存中读取数据,如果命中缓存的话,那么直接把缓存中的数据返回给用户,如果缓存中没有数据的话,先查询数据库把查询到的数据保存到缓存中,然后返回给用户。
优点:
缺点:
应用场景
这种策略通常用于提高系统性能。当数据发生变化时,首先将变化的数据写入缓存,然后由后台进程异步地将这些数据写入数据库。这样可以减轻数据库的压力,提高系统的响应速度。同时,如果数据库发生故障,可以从缓存中恢复数据,保证系统的可用性。
代码示例
# 更新缓存redis.update()# 更新数据库db.update()
优点:
缺点:
应用场景
这种策略通常用于确保数据的一致性。当数据发生变化时,首先更新数据库,然后将这些变化写入缓存。这样可以确保缓存中的数据始终是最新的,提高系统的一致性。
代码示例
# 更新数据库db.update()# 更新缓存redis.update()
优点:
缺点:
应用场景
这种策略通常用于处理缓存失效的情况。当数据发生变化时,首先删除缓存,然后更新数据库。这样可以确保每次数据变更都能被正确地写入数据库,避免因缓存失效而导致的数据不一致问题。
代码示例
# 更新数据库db.update()# 删除缓存redis.delete()
优点:
缺点:
应用场景
这种策略通常用于处理缓存过期的情况。当数据发生变化时,首先更新数据库,然后删除缓存。这样可以确保每次数据变更都能被正确地写入数据库,避免因缓存过期而导致的数据不一致问题。
代码示例
# 更新数据库db.update()# 删除缓存redis.delete()
来源地址:https://blog.csdn.net/jinxinxin1314/article/details/132803492
--结束END--
本文标题: Redis与MySQL双写一致性如何保证
本文链接: https://www.lsjlt.com/news/405926.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-16
2024-05-16
2024-05-16
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
2024-05-15
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0