原理
例: 一个get请求:api/news/getById/1
缓存穿透:查询一个不存在的数据,mysql查询不到数据也不会直接写入缓存,就会导致每次请求都查数据库
解决方案一
缓存空数据,查询返回的数据为空,仍把这个空结果进行缓存
优点
简单
缺点
消耗内存,可能会发生不一致的问题
解决方案二
布隆过滤器
优点
内存占用较少,没有多余key
缺点
实现复杂,存在误判
布隆过滤器
bitmap(位图):相当于是一个以(bit)位为单位的数组,数组中每个单元只能存储二进制数0或1
布隆过滤器作用:布隆过滤器可以用于检索一个元素是否在一个集合中。