缓存穿透

image1
不断的请求缓存和数据库中都不存在的数据, 可能导致数据库的崩溃

解决方案 1.空对象 2.布隆过滤(实现复杂,存在误判可能)
image2

我们在生产中常用的是赋空值 “”

大概流程:
1.redis查询数据
2.判断是不是有数据的 isblank
3.判断是不是””,fail
4.只能是null了,走数据库
5.数据库找到为null,则redis缓存空值 “”,fail
6.非null,写入redis并返回数据

image3

image4