
缓存
文章平均质量分 93
长江七号zzj
这个作者很懒,什么都没留下…
展开
-
缓存一致性问题解决方案
通常情况下,我们使用缓存的主要目的是为了提升查询的性能。大多数情况下,是这样使用缓存的:当数据库有数据更新时,在很长的一段时间内(决定于缓存的过期时间),用户请求从缓存中获取到的都可能是旧值,而非数据库的最新值。那么,该如何更新缓存呢?讨论四种方案前先统一两个认知,以便更好理解四种方案:缓存一致性问题没有绝对可靠的方案,我们只能让两者尽量接近,但无论如何也不能百分百达到一致性效果。缓存和数据库,无论先处理谁,只要后者有延迟/失败,都会导致不一致的情况,这也正是缓存不一致的根本原因所在。转载 2023-11-24 10:19:08 · 321 阅读 · 0 评论 -
缓存击穿,穿透,雪崩及其解决方案
大量请求的 key 是不合理的,根本不存在于缓存中,也不存在于数据库中。导致这些请求直接到了数据库上,根本没有经过缓存这一层,对数据库造成了巨大的压力,可能直接就被这么多请求弄宕机了。缓存穿透举个例子:某个黑客故意制造一些非法的 key 发起大量请求,导致大量请求落到数据库,结果数据库上也没有查到对应的数据。也就是说这些请求最终都落到了数据库上,对数据库造成了巨大的压力。缓存击穿中,请求的 key 对应的是 热点数据 ,该数据 存在于数据库中,但不存在于缓存中(通常是因为缓存中的那份数据已经过期)原创 2023-11-07 17:27:42 · 315 阅读 · 0 评论