如何有效解决缓存一致性中的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3521个文字,预计阅读时间需要15分钟。
各位好,我是李哥。上次我们讨论了在分布式系统下的缓存架构体系,从浏览器缓存到客户端缓存,再到CDN缓存,反向代理缓存,本地缓存,最后到分布式缓存。整个链路中涉及多种缓存策略。
大家好,我是李哥。
上次我们讨论了在分布式系统下的缓存架构体系,从浏览器缓存到客户端缓存,再到CDN缓存,再到反向代理缓存,再到本地缓存,再到分布式缓存。整个链路中有非常多的缓存。
在整个缓存链路,存在各种各样的问题,常见的问题有缓存穿透、缓存击穿、缓存雪崩、缓存数据一致性问题等。不常见的问题有缓存倾斜、缓存阻塞、缓存慢查询、缓存主从一致性问题、缓存高可用、缓存故障发现与故障恢复、集群扩容收缩、大Key热Key等等。
今天我们来聊聊缓存一致性问题,对于这个问题,不管在工作中还是面试中,都是一个非常常见的问题。
今天我们的主题是:缓存一致性问题
老规矩,上大纲:
1、缓存一致性问题是什么
我们知道,缓存的工作原理是先从缓存中获取数据,如果有数据则直接返回给用户,如果没有数据则从慢速设备上读取实际数据并且将数据放入缓存。就像这样:
但是,这样的架构是存在问题的,因为数据库与缓存是不同的组件,操作必须有先后顺序,无法像数据库的事务一样满足ACID的特性,所以就会出现数据在缓存中与在数据库中不一致的问题。
本文共计3521个文字,预计阅读时间需要15分钟。
各位好,我是李哥。上次我们讨论了在分布式系统下的缓存架构体系,从浏览器缓存到客户端缓存,再到CDN缓存,反向代理缓存,本地缓存,最后到分布式缓存。整个链路中涉及多种缓存策略。
大家好,我是李哥。
上次我们讨论了在分布式系统下的缓存架构体系,从浏览器缓存到客户端缓存,再到CDN缓存,再到反向代理缓存,再到本地缓存,再到分布式缓存。整个链路中有非常多的缓存。
在整个缓存链路,存在各种各样的问题,常见的问题有缓存穿透、缓存击穿、缓存雪崩、缓存数据一致性问题等。不常见的问题有缓存倾斜、缓存阻塞、缓存慢查询、缓存主从一致性问题、缓存高可用、缓存故障发现与故障恢复、集群扩容收缩、大Key热Key等等。
今天我们来聊聊缓存一致性问题,对于这个问题,不管在工作中还是面试中,都是一个非常常见的问题。
今天我们的主题是:缓存一致性问题
老规矩,上大纲:
1、缓存一致性问题是什么
我们知道,缓存的工作原理是先从缓存中获取数据,如果有数据则直接返回给用户,如果没有数据则从慢速设备上读取实际数据并且将数据放入缓存。就像这样:
但是,这样的架构是存在问题的,因为数据库与缓存是不同的组件,操作必须有先后顺序,无法像数据库的事务一样满足ACID的特性,所以就会出现数据在缓存中与在数据库中不一致的问题。

