关于缓存的一些心得
创始人
2024-11-14 14:05:06
0

Cache Penetration

概述

Cachepenetration(缓存穿透) :缓存穿透是指大量请求查询系统中不存在的数据如通过不存在的 UID 访问用户,既然这些数据在系统中不存在,那么肯定在Redis缓存中也不存在这批数据,这样导致这些请求都会穿透到DB,导致系统崩溃。有些同学可能就会问了,既然系统中都没这些数据,为什么还会存在这样的请求了?别忘了,这个世界上还有一群计算机破坏分子,他们可能基于各种目的,伪造这样的请求去攻击你的系统。

解决方案

方案一:缓存不存在的key,即使key对应的数据系统中不存在,也将该key缓存下,只不过这个key对应的value是一个特殊设置的值。这样即使访问不存在的key时也会命中缓存返回,不会再去DB中获取了。

该方案缺陷:如果访问的是大量不存在的key,很显然,为了缓存这些系统中不存的key,会占用大量的缓存空间,而我们知道缓存空间是有限的,无效key占用的空间多了,势必会将一些正常的key淘汰掉,这样就导致缓存命中率下降。

方案二:构建一个BloomFilter 过滤器,记录全量数据,这样访问数据时,可以直接通过 BloomFilter 判断这个key 是否存在,如果不存在直接返回即可(BloomFilter特性:如果判断不存在则一定不存在),根本无需查缓存和 DB。

该方案缺陷:BloomFilter 要缓存全量的 key,这就要求全量的 key数量不能

相关内容

热门资讯

在玩家背景下!wepoker透... 在玩家背景下!wepoker透视有用吗,wepoker破解器激活码,原来存在有挂(确实有挂)一、we...
复盘辅助挂!hhpoker的辅... 复盘辅助挂!hhpoker的辅助是真的吗,aapoker怎么提高中牌率,确实真的是有挂(确实有挂)所...
黑科技插件!wepoker提高... 黑科技插件!wepoker提高好牌率,wepoker私人局规律,一直存在有挂(有挂方法)1、wepo...
现就发布提示!德扑HHpoke... 现就发布提示!德扑HHpoker有挂吗,德普之星透视辅助,都是是真的有挂(有挂透明挂)1)德普之星透...
最新消息!werplan免费挂... 最新消息!werplan免费挂下载,hhpoker有没有作弊挂,本来存在有挂(有挂详细)1、玩家可以...
据通报!wepoker透视有用... 据通报!wepoker透视有用吗,德普之星透视软件免费入口官网,总是存在有挂(有挂猫腻)1、下载好德...
于此同时!红龙poker辅助平... 于此同时!红龙poker辅助平台,pokemomo辅助工具,总是存在有挂(有挂分享)1)红龙poke...
网友热议!wepoker软件辅... 网友热议!wepoker软件辅助程序,wepoker有什么规律,原来是有挂(有挂方式)小薇(辅助器软...
据相关数据显示!hhpoker... 据相关数据显示!hhpoker有没有作弊挂,来玩德州破解器,切实是有挂(确实有挂)在进入hhpoke...
昨日!wepoker怎么看牌型... 昨日!wepoker怎么看牌型,hhpoker有没有作弊辅助,果然是真的有挂(有挂教程)hhpoke...