遵义网站开发的公司,北京十大建筑设计公司,wordpress文章摘要调用,wordpress博客管理文章目录 一、原理正常情况#xff1a;Redis缓存流程问题引出#xff1a;Redis缓存穿透问题 二、解决方案方案一#xff1a;缓存空数据方案二#xff1a;布隆过滤器 一、原理
正常情况#xff1a;Redis缓存流程 查询数据时#xff0c;优先查询Redis#xff1a; 命中Redis缓存流程问题引出Redis缓存穿透问题 二、解决方案方案一缓存空数据方案二布隆过滤器 一、原理
正常情况Redis缓存流程 查询数据时优先查询Redis 命中直接返回查询结果未命中查询数据库返回数据并将数据缓存到Redis中方便下次查询 问题引出Redis缓存穿透问题 查询一个不存在的数据时Redis中也没有会导致每次查询都会穿过Redis去查询数据库给予数据库非常大的压力。查询次数过多就会击垮数据库。 二、解决方案
方案一缓存空数据
返回空数据并将空数据缓存到Redis中。如{key:1,value:null}
优点简单缺点 消耗内存 Redis额外存储开销数据不一致 (数据库的数据改变时可能导致与Redis中的数据不一致)
方案二布隆过滤器
查询数据时优先查询布隆过滤器如果存在再去查询Redis和数据库不存在则直接返回
优点 无额外的内存开销极大的减轻数据库压力 缺点有一定的误判率