缓存
ProMonkey_chen
这个作者很懒,什么都没留下…
展开
-
缓存穿透、缓存击穿、缓存雪崩区别
一、缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求。(查询一个一定不存在的数据。如资源表,查询一个不存在的id,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成影响。) 解决方案: 接口层增加校验,如用户鉴权校验,id做基础校验。 从缓存取不到的数据,在数据库中也没有取到,这时也可以将key-value对写为...原创 2019-10-10 14:53:09 · 181 阅读 · 0 评论 -
缓存和 DB 的数据一致性问题
缓存和DB的数据不一致主要有两种情况: 并发的场景下,导致读取旧的 DB 数据,更新到缓存中。 缓存和 DB 的操作,不在一个事务中,可能只有一个操作成功,而另一个操作失败,导致不一致。 常用的优化方案,主要是解决两个问题: 将缓存可能存在的并行写,实现串行写。 实现数据的最终一致性。 下面是我们比较常用到的集中优化手段: 1、先淘汰缓存,再写数据库,注意要引入分布式锁,从而实现串行写的...原创 2019-10-11 10:45:16 · 688 阅读 · 0 评论