Skip to content

p3ddd/geecache

Repository files navigation

分布式缓存

一致性哈希

对于给定的 key,每次都选择同一个节点

节点固定时:

把 key 的每一个字符的 ASCII 码加起来,除以 10 取余数

hash('Tom') % 10

防止缓存击穿

缓存雪崩:缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。缓存雪崩通常因为缓存服务器宕机、缓存的 key 设置了相同的过期时间等引起。

缓存击穿:一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到 DB ,造成瞬时DB请求量大、压力骤增。

缓存穿透:查询一个不存在的数据,因为不存在则不会写到缓存中,所以每次都会去请求 DB,如果瞬间流量过大,穿透到 DB,导致宕机。