缓存穿透 什么是缓存穿透 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库 解决缓存穿透的方法 解决缓存穿透有两种方案: 1.缓存空对象 优点:实现简单,维护方便 缺点:额外的内存消耗;可能存在短期的不一致(缓存null的同时数据库将这条数据补上了,会出现一定时间的数据不一致) 2.布隆过滤 在客户端和redis之间进行了一层过滤 优点:内存占用较少,没有多余的key 缺点:还是有缓存穿透的风险;实现起来复杂(但是redis提供了方法)