当前位置:小强知识网 > 生活常识 >

如何保证本地缓存、分布式缓存、数据库之间的数据一致性?

  你也说了是缓存。缓存一般不关注一致性,只关注命中率。

  为什么?因为缓存是解决性能和可用性问题的,而解决问题的方式就是拿空间换时间。 所以就一定会对一致性有让步,详细论证参考CAP理论。

  那么一定要问,缓存不一致怎么办?不是出大问题了?别着急,没关系。因为缓存场景是有限制的:

  1 不要求强一致的,一般来说最终一致即可。(下文有解释)

  2 符合命中要求的,非命中通过Miss兜底解决的。说人话就是缓存有的部分肯定一致,不一致就不写入缓存。丢了也不要紧。说白了还是没实现全部强一致。

  再说一致性。

  简单说,一致性分强一致,弱一致,最终一致三种。

  强一致不提了,你说的三层产品根本不是一套,不适合这个情况,不可能实现。

  弱一致,也不提了,因为基本上绝大多数满足要求。是你说的三层的正常情况。

  最终一致,是这缓存建设的一性能指标,因为最终一致变相影响缓存的基本指标—命中率。这也是缓存和一致性的唯一关联了。

以上就是关于如何保证本地缓存、分布式缓存、数据库之间的数据一致性?的优质答案了,希望能够对广大用户有所帮助,若是大家还想了解更多相关知识及其他内容的话,那么就请关注或收藏本站!!!

猜你喜欢