关于缓存和DB数据一致性,不要再说延时双删和binlog了

首先抛砖引玉,了解一下InnoDB缓冲池的脏页:

当缓冲池数据页上的数据发生变化后,就变成了脏页,此时脏页还没有更新到磁盘上,但是它同样可用;

同比,redis==InnoDB缓冲池的数据页, DB==InnoDB的磁盘

脏页如何刷新到磁盘上呢?

有很多种策略,都可以保证脏页刷新到磁盘上;最明显的策略就是通过后台线程刷新到磁盘上

同比,redis的数据发生变化后,也可以设计一个后台服务来保证

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

八股文+场景题+算法真题 文章被收录于专栏

Java全新整理八股文 + 场景题 + 算法 精心设计,面试命中率超过80% 专栏优势: 1、问题和答案已经整理到位,答案更专业,可以直接回答,不需要额外总结! 2、场景题讲解清晰,适用于大部分场景的项目,并且持续更新中 3、分享学习心得【知识点的广度和深度,算法有哪些坑,如何准备面试等等】

全部评论

相关推荐

848582878:如果是5.6版本前,MySQL不支持ICP索引下推,这个会先过滤出name前缀为c的所有记录,然后回表得到完整行记录,再从Server层过滤age=10;如果支持ICP,那么存储引擎层会通过联合索引在过滤name的同时过滤age=10的数据再回表扫描
点赞 评论 收藏
分享
点赞 评论 收藏
分享
6 4 评论
分享
牛客网
牛客企业服务