分布式系统缓存设计浅析

 1. 分布式缓存面临比较大的三个问题:

(1)数据一致性: 先写DB还是先写缓存

假设先写数据库,再淘汰缓存:第一步写数据库操作成功,第二步淘汰缓存失败,则会出现DB中是新数据,Cache中是旧数据,数据不一致。

假设先淘汰缓存,再写数据库:第一步淘汰缓存成功,第二步写数据库失败,则只会引发一次Cache miss

所以先淘汰缓存,再写数据库

 

(2)缓存雪崩:缓存失效,同时访问DB

1. 失效时间均衡分布

2. 使用分布式锁

3. 缓存过期标记+异步刷新

(3)缓存穿透: 查询不存在的数据

1. 对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃

布隆过滤器

 

 

58沈剑:缓存架构设计细节二三事

posted @ 2014-12-13 23:06  等风来。。  Views(1038)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------