Redis
文章平均质量分 95
Redis
小怪兽打葫芦娃
这个作者很懒,什么都没留下…
展开
-
MySQL和Redis如何保证数据一致性
数据一致”一般指的是:缓存中有数据,缓存的数据值=数据库中的值。但根据缓存中是有数据为依据,则“一致”可以包含两种情况:1)缓存中有数据,缓存的数据值=数据库中的值。2)缓存中本没有数据,数据库中的值=最新值(有请求查询数据库时,会将数据写入缓存,则变为上面的“一致”状态)。“数据不一致”:缓存的数据值≠数据库中的值;缓存或者数据库中存在旧值,导致其他线程读到旧数据。一致性就是数据保持一致,在分布式系统中,可以理解为多个节点中数据的值是一致的。原创 2023-08-15 11:40:24 · 2899 阅读 · 2 评论 -
Redis缓存雪崩、击穿、穿透?
缓存异常会面临的三个问题:缓存雪崩、击穿和穿透。其中,缓存雪崩和缓存击穿主要原因是数据不在缓存中,而导致大量请求访问了数据库,数据库压力骤增,容易引发一系列连锁反应,导致系统奔溃。不过,一旦数据被重新加载回缓存,应用又可以从缓存快速读取数据,不再继续访问数据库,数据库的压力也会瞬间降下来。因此,缓存雪崩和缓存击穿应对的方案比较类似。而缓存穿透主要原因是数据既不在缓存也不在数据库中。因此,缓存穿透与缓存雪崩、击穿应对的方案不太一样。原创 2023-08-13 11:06:34 · 170 阅读 · 0 评论 -
布隆过滤器
布隆过滤器 (Bloom Filter)是由 Burton Howard Bloom 于 1970 年提出,我们可以把它看作由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时常用的的 List、Map、Set 等数据结构,它占用空间更少并且效率更高,但是缺点是其返回的结果是概率性的,而不是非常准确的。理论情况下添加到集合中的元素越多,误报的可能性就越大。而且,存放在布隆过滤器的数据不容易删除。原创 2023-08-12 11:53:53 · 227 阅读 · 0 评论