美文网首页
二十六、缓存穿透的解决方案

二十六、缓存穿透的解决方案

作者: 那钱有着落吗 | 来源:发表于2020-11-30 09:34 被阅读0次

顾名思义,本身redis的存在就是像屏障一样,挡在数据库前面,为数据库分担压力,如果流量还是穿过了reids,那么就相当于redis这个屏障失效了,所以叫做缓存穿透

image.png

如图所示就是一个缓存穿透的典型例子,我们首先获取缓存中的数据,如果没有,就查询数据库,然后不为空就保存数据到redis;

这样就造成了一个问题,如果一个key在缓存中没有数据,数据库中也没有数据,一直访问这个接口,就会不断的去直接访问数据库,redis这个屏障也就被穿透了;

怎么处理呢?

image.png

如图,即使数据库中查询的数据为空,也要放到缓存里面,这样缓存里就是一个空的数组,如果下回调用接口,缓存就不为空了,也就不会直接访问到数据库,redis缓存就无法被穿透,还是会保护好数据库。

相关文章

网友评论

      本文标题:二十六、缓存穿透的解决方案

      本文链接:https://www.haomeiwen.com/subject/bbnzbktx.html