数据双写时--如何保证数据库和缓存中数据一致性呢?

乔欣 Java面经 发布时间:2022-11-07 15:58:01 阅读数:12540 1 Redis面试题(2023优化版)
下文笔者讲述数据双写时---保证一致性的方法分享,如下所示

数据一致性简介

数据一致性:
    指我们同时向数据库和缓存中写数据
	需保证两者数据一致性,那么如何处理呢?下文笔者将一一道来,如下所示
数据一致性处理方法:
    我们只需将读和写操作放入到一个队列中
	然后依次执行,就能保证读和写的一致性

缓存一致性其它解决方案说明

操作方式 描述 解决方法
先写缓存,再写数据库,
缓存写成功,数据库写失败
缓存写成功,但写数据库失败或者响应延迟,
则下次读取(并发读)缓存时,就出现脏读
这个写缓存的方式,本身就是错误的,
需要改为先写数据库,
把旧缓存置为失效;读取数据的时候,如果缓存不存在,则读取数据库再写缓存
先写数据库,再写缓存,
数据库写成功,缓存写失败
写数据库成功,但写缓存失败,
则下次读取(并发读)缓存时,则读不到数据
缓存使用时,假如读缓存失败,
先读数据库,再回写缓存的方式实现
需要缓存异步刷新 指数据库操作和写缓存不在一个操作步骤中,比如在分布式场景下,
无法做到同时写缓存或需要异步刷新(补救措施)时候
确定哪些数据适合此类场景,
根据经验值确定合理的数据不一致时间,
用户数据刷新的时间间隔
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202211/16678079364833.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者