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

相关内容

热门资讯

黑科技辅助(微扑克ai机器人)... 黑科技辅助(微扑克ai机器人)外挂透明挂辅助器(透视)竟然真的有挂(有挂秘诀)-哔哩哔哩1、构建自己...
黑科技辅助!来玩app辅助(德... 黑科技辅助!来玩app辅助(德扑ai软件靠谱吗)其实存在有挂(详细教程)-哔哩哔哩,您好,德扑ai软...
黑科技免费(WePoKe)德州... 黑科技免费(WePoKe)德州之星app安卓版(智能ai)原来存在有挂(2022已更新)(哔哩哔哩)...
发现玩家!AApoker透明挂... 发现玩家!AApoker透明挂(软件透明挂)可靠教程(2025已更新)(哔哩哔哩)是一款可以让一直输...
黑科技存在!wepoke辅助工... 黑科技存在!wepoke辅助工具的使用教程(wepoke智能ai)原本是真的有挂(有挂猫腻)-哔哩哔...
黑科技玄学(鱼扑克fishpo... 黑科技玄学(鱼扑克fishpoker俱乐部辅助)外挂透明挂辅助助手(透视)确实是真的有挂(有挂规律)...
黑科技了解(WePoKe)微扑... 黑科技了解(WePoKe)微扑克挂几个号(透视)真是真的是有挂(2020已更新)(哔哩哔哩)1、实时...
推荐一款!!wopoker系统... 自定义wopoker系统套路系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器...
黑科技总结!wepoke ai... 黑科技总结!wepoke ai辅助(wpk ai辅助)确实真的有挂(有挂头条)-哔哩哔哩1、玩家可以...
黑科技脚本(wepork私人局... 黑科技脚本(wepork私人局有挂吗)外挂透明挂辅助助手(透视)本来有挂(有挂讲解)-哔哩哔哩1、很...