请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

保证数据一致性的问题

  1. 数据库与缓存的一致性

    这位网上怎么说的都有,看到有个比较厉害的说法是:mysql的写入产生的binlog通过MQ推送到redis进行实时增量更新;这个可行靠谱么?老师是怎么看数据库和缓存的一致性?

2.缓存与缓存的一致性

这个查不到什么资料,麻烦老师解答下

正在回答 回答被采纳积分+3

1回答

翔仔 2020-06-25 02:35:28

同学说的缓存一致性应该是缓存和持久化存储的数据一致性吧。数据库和缓存各有其作用,缓存的出现和从库的出现一样是为了提高读操作的性能,其牺牲的就是数据实时的一致性,追求的是数据最终一致性;至于晚会上说的binlog实时同步到缓存中 确实是一个缓存更新的好办法,但是事情要从两面去看待,硬盘资源的价格和内存资源的价格是有区别的,在这种抉择下得看更看重缓存更新还是更看重资源。

0 回复 有任何疑惑可以回复我~
  • 提问者 莨菽菽 #1
    老师你的意思是肯定会存在缓存和持久化存储的不一致了对吧?但是我说先删缓存或者后删缓存,面试官感觉都不满意,我应该怎么答才好?
    回复 有任何疑惑可以回复我~ 2020-06-25 11:25:53
  • 翔仔 回复 提问者 莨菽菽 #2
    同学好,缓存和持久化存储的不一致确实会存在,但是需要结合实际情况来说,不能一刀切,同学可以先和他解释CAP,然后在三者之间进行均衡,让面试官提供一个场景,然后具体场景具体分析,方法有很多,需要问清楚他到底有什么样的条件,才能决定做什么事情,如果他还是不满意,只能说明面试官较劲了。。
    回复 有任何疑惑可以回复我~ 2020-06-26 00:29:50
  • 提问者 莨菽菽 回复 翔仔 #3
    老师再追问一个哈,如果问更新数据库成功删除缓存失败怎么办?(我网上找到:1.重试;2.定期全量更新;3.设置缓存失效期;但是感觉都不能立马解决删除缓存导致的不一致,或者老师有更好的解决办法)
    回复 有任何疑惑可以回复我~ 2020-06-26 10:51:03
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信