摘要: 缓存穿透 缓存系统,按照KEY去查询VALUE,当KEY对应的VALUE一定不存在的时候并对KEY并发请求量很大的时候,就会对后端造成很大的压力。 (查询一个必然不存在的数据。比如文章表,查询一个不存在的id,每次都会访问DB,如果有人恶意破坏,很可能直接对DB造成影响。) 由于缓存不命中,每次都要 阅读全文
posted @ 2019-01-25 16:51 liluxiang 阅读(2623) 评论(0) 推荐(0) 编辑
摘要: 一、缓存 Redis做缓存是最常见的应用场景。客户端请求在缓存层命中就直接返回,如果miss就去读取存储层,存储层读取到就写入缓存层,然后再返回到客户端。 优点: 加速读写 降低后端负载 缺点: 数据的不一致性 代码维护成本 运维成本 二、缓存穿透优化 然而缓存可能会遇到这种问题:请求cache拿不 阅读全文
posted @ 2019-01-25 16:42 liluxiang 阅读(1832) 评论(0) 推荐(2) 编辑
摘要: 1.什么是缓存穿透 一般的缓存系统,都是按照key值去缓存查询,如果不存在对应的value,就应该去DB中查找 。这个时候,如果请求的并发量很大,就会对后端的DB系统造成很大的压力。这就叫做缓存穿透。关键词:缓存value为空;并发量很大去访问DB。 造成的原因 1.业务自身代码或数据出现问题;2. 阅读全文
posted @ 2019-01-25 16:37 liluxiang 阅读(2660) 评论(0) 推荐(0) 编辑
摘要: 把redis作为缓存使用已经是司空见惯,但是使用redis后也可能会碰到一系列的问题,尤其是数据量很大的时候,经典的几个问题如下: (一)缓存和数据库间数据一致性问题分布式环境下(单机就不用说了)非常容易出现缓存和数据库间的数据一致性问题,针对这一点的话,只能说,如果你的项目对缓存的要求是强一致性的 阅读全文
posted @ 2019-01-25 16:35 liluxiang 阅读(556) 评论(0) 推荐(0) 编辑