掌玩手机网 手游攻略 手游评测 缓存穿透及解决方案

缓存穿透及解决方案

时间:2024-12-31 12:42:02 来源:网络整理 浏览:0

缓存穿透常见的解决方案如下:

解决方案1: 还为数据库中不存在的数据在缓存中设置默认值Null。为了避免占用资源,过期时间一般较短。

解决方案2:可以设置一些过滤规则,比如Bloom filter

缓存穿透及解决方案

方案1比较简单,但也很容易破解。例如,如果攻击者分析数据格式并反复请求数据库中不存在该数据,那么选项1将无效。相对来说,方案2更加稳定,接下来重点讲解方案2如何实现。

方案2的设计思路是在数据库查询之前设置过滤规则来过滤数据。如果发现数据不存在,则不再进行数据库查询,从而减轻数据库的访问压力。

目前方案2中过滤规则的主流载体之一是布隆过滤器。布隆过滤器是一种概率数据结构,其特点是高效的插入和查询,可以用来告诉你“某物一定不存在”或者可能存在”。

缓存穿透及解决方案

与List、Set、Map等传统数据结构相比,布隆过滤器是位数组,效率更高,占用空间更少。然而,缺点是返回的结果是概率性的,而不是精确的。

如果我们要将一个值映射到布隆过滤器中,我们需要使用多个不同的哈希函数来生成多个哈希值,并将每个生成的哈希值指向的位位置设置为1,例如对于值“zhangsan”三个不同的哈希函数分别生成哈希值1、4、7。

我们现在存储另一个值“lisi”。如果哈希函数返回4, 5, 8,则图继续变为:

缓存穿透及解决方案

当我们想要判断布隆过滤器是否记录了某个数据时,布隆过滤器首先会对该数据进行同样的哈希处理。例如“wangwu”的哈希函数返回2、5、8。值。结果我们发现第2位的值为0,也就是说没有值映射到该位,所以我们可以肯定地说数据“王屋”不存在。

但同时我们会发现第4位被覆盖了,因为“zhangsan”和“lisi”的哈希函数都返回了该位。那么随着布隆过滤器保存的数据不断增加,重复的概率也会不断增加。因此,当我们对某个数据进行过滤时,如果发现它的三个哈希值都被记录在过滤器中,那么也只能说明该数据可能被包含在过滤器中,但并不能绝对确定,因为其他数据的哈希值可能影响了结果。这也解释了上面提到的布隆过滤器只能表明“某些东西一定不存在或可能存在”。至于为什么要使用三个不同的哈希函数来获取值,因为只要三个哈希值之一不存在不存在,则意味着该数据一定不在过滤器中,这样可以减少由于哈希冲突(两个数据具有相同哈希值)而出错的概率。

用户评论

何年何念

这类主题的游戏肯定很有挑战性!我爱这种考验逻辑思维和解决问题的玩法。

    有11位网友表示赞同!

陌上蔷薇

感觉这游戏会很烧脑!希望能找到多种不同的解决方案,而不是只有一种正确答案。

    有5位网友表示赞同!

花菲

缓存穿透一直是我电脑编程里遇到的难题,没想到能变成游戏了!

    有15位网友表示赞同!

小清晰的声音

对系统架构和网络工程感兴趣的话,这款游戏绝对不能错过!

    有18位网友表示赞同!

秒淘你心窝

看着名字就觉得这游戏肯定非常考验技术的!

    有12位网友表示赞同!

旧事酒浓

我猜这个游戏应该要运用很多编程知识才能通关吧?太刺激了!

    有13位网友表示赞同!

聽風

希望这个游戏中能够学-到一些实际应用到的缓存穿透解决方案,这样还能增强我的技能!

    有15位网友表示赞同!

┲﹊怅惘。

缓存穿透问题虽然很烦人,但能把它玩成游戏还真是个创意!

    有8位网友表示赞同!

空巷

如果这款游戏难度适中,我一定会尝试一下!

    有10位网友表示赞同!

命运不堪浮华

这类注重逻辑思维的游戏是我喜欢的类型之一,期待它的上线!

    有11位网友表示赞同!

在哪跌倒こ就在哪躺下

不知道这个游戏的画面和音效怎么样?希望做得生动有趣!

    有19位网友表示赞同!

颜洛殇

我觉得这游戏会对程序设计爱好者很有帮助!

    有12位网友表示赞同!

隔壁阿不都

游戏能让人更轻松愉快的学-知识,太棒了!

    有14位网友表示赞同!

箜篌引

我期待这款游戏能带给我全新的游戏体验!

    有6位网友表示赞同!

发型不乱一切好办

希望玩家之间能够分享各种各样的缓存穿透解决方案,互相学-进步。

    有7位网友表示赞同!

百合的盛世恋

这类游戏的受众群体应该很大,毕竟谁不想提升自己的技术水平呢?

    有16位网友表示赞同!

初阳

这款游戏能否兼顾娱乐性和教育性,将会决定它是否能取得成功!

    有12位网友表示赞同!

一个人的荒凉

想知道这个游戏有没有不同的难度级别,这样才能满足不同玩家的需求!

    有7位网友表示赞同!

妄灸

期待看到更多类似的创新游戏的出现,将知识和娱乐完美结合!

    有9位网友表示赞同!

标题:缓存穿透及解决方案
链接:https://izhangwan.com/news/sypc/27926.html
版权:文章转载自网络,如有侵权,请联系删除!
资讯推荐
更多
绯红之境兑换码最新2021 礼包兑换码大全

绯红之境兑换码最新2021 礼包兑换码大全[多图],绯红之境兑换码怎么领取?绯红之境兑换码有哪些?绯红之境在今日

2024-12-31
妄想山海怎么加好友 加好友方法大全

妄想山海怎么加好友 加好友方法大全[多图],妄想山海添加好友功能在哪里?妄想山海添加好友的方法是什么?好友添

2024-12-31
三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法

三国群英传7霸王再临攻略 霸王再临攻略技巧开启方法[多图],三国群英传7霸王再临怎么玩?三国群英传7霸王再临

2024-12-31
江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略

江南百景图又见桃花村钓鱼位置在哪?又见桃花村钓鱼攻略[多图],江南百景图又见桃花村钓鱼怎么钓?又见桃花村钓

2024-12-31