关于缓存的一些心得
创始人
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数量不能

相关内容

热门资讯

绝活儿辅助!广西老友玩老是输怎... 绝活儿辅助!广西老友玩老是输怎么办(辅助挂)都是真的有辅助app(讲解有挂)在进入广西老友玩老是输怎...
法门辅助!福建13水插件(辅助... 法门辅助!福建13水插件(辅助挂)一贯是有辅助技巧(有挂技术)1、许多玩家不知道福建13水插件辅助怎...
办法辅助!潮友会app下载官方... 办法辅助!潮友会app下载官方辅助器(辅助挂)真是真的是有辅助app(有挂教程)该软件可以轻松地帮助...
妙招辅助!邯郸胡乐挂辅助(辅助... 妙招辅助!邯郸胡乐挂辅助(辅助挂)好像存在有辅助插件(有挂方略)1、上手简单,内置详细流程视频教学,...
教程书辅助!乐酷辅助(辅助挂)... 教程书辅助!乐酷辅助(辅助挂)其实存在有辅助脚本(有挂细节)乐酷辅助能透视中分为三种模型:乐酷辅助模...
学习辅助!决战卡五星辅助(辅助... 学习辅助!决战卡五星辅助(辅助挂)本来真的是有辅助软件(有人有挂)学习辅助!决战卡五星辅助(辅助挂)...
绝活辅助!边锋嘉兴麻将辅助器(... 绝活辅助!边锋嘉兴麻将辅助器(辅助挂)真是真的有辅助神器(新版有挂)1、边锋嘉兴麻将辅助器公共底牌简...
举措辅助!枫叶辅助器(辅助挂)... 举措辅助!枫叶辅助器(辅助挂)本来存在有辅助技巧(竟然有挂)1、下载好枫叶辅助器正确养号方法之后点击...
讲义辅助!点我达辅助(辅助挂)... 讲义辅助!点我达辅助(辅助挂)一直存在有辅助技巧(有人有挂)1、点我达辅助辅助器安装包、点我达辅助辅...
模块辅助!威信茶馆有挂的吗(辅... 模块辅助!威信茶馆有挂的吗(辅助挂)一直真的是有辅助脚本(揭秘有挂)1、玩家可以在威信茶馆有挂的吗线...