您应该在Internet上读过太多文章,说如何解决缓存渗透问题?它只不过是Bloom过滤器,缓存空值之类的东西。但是,还有一个更深入的问题,缓存空值是否有问题?如果缓存中有太多空值怎么办?如果您使用redis,是否会有太多的空值打击您的redis?如果您使用本地缓存,它会消耗您的内存吗?然后的问题是,它仍然会炸毁您的数据库。
谈到不久前的在线问题,我们的在线环境压力测试表明,QPS超过2W后,RT达到了数十秒。经过调查,发现redis连接数不够,导致大量的连接超时。
经过考虑,我们最终决定放弃redis缓存解决方案,改用本地缓存,因为我们缓存了一些配置信息,这在几个月内不太可能被修改,并且redis配置的连接数为200,5。分钟到期后,数据量实际上只有几千。
实际上,这是没有必要的。本地缓存可以完全解决问题。
本地缓存是使用Guava的LoadingCache实现的。但是,在进行修改之后,经过压力测试,发现所有接口都进入了数据库以进行查询。
首先,检查代码以查看是否是导致实际故障生效的错误。后来发现缓存渗透确实发生了。
现有记录引起了渗透问题。实际上,使用redis时始终存在此问题,但由于连接数问题尚未发现。
下一步是考虑如何解决问题?由于我们要缓存一些配置信息和仅几千个数据,因此我们最终考虑一种简单的解决方案。直接检查数据库中的所有密钥并缓存它们。
在检查数据库之前,请根据密钥直接对其进行过滤。如果不存在,请直接返回。
不要查询数据库。当然,这是因为我们的场景相对简单,因此可以直接对其进行处理。
那么,如果它更复杂,例如,亿万个缓存的数据呢?解决方案预过滤如果说像我的这样一些更简单的缓存,则可以使用我上面提到的解决方案。还有一些缓存的密钥,例如ID,也可以根据某些作用域规则预先过滤。
例如,在明确知道缓存的密钥在10,000到100,000的范围内之后,就足以过滤掉此范围之外的请求并直接返回。当然,很明显,此简单规则过滤适用于数据量不是很大且数据不经常更改的情况。
布隆过滤器对于上述情况,由于数据量很小,因此可以缓存简单的代码。如果数据量很大(例如1亿个密钥),则使用Bloom过滤器是更好的解决方案。
我们可以每天从数据库中查询所有配置信息以构建位图。在上一篇文章中,我还写了有关Bloom过滤器的文章,并张贴了上一张图片。
如果查询位置为1,则表示该键存在,否则,只要存在0,就表示该键绝对不存在。使用布隆过滤器的缺点也很明显,并且存在一定的错误判断可能性。
当然,由于使用了它,因此应事先评估错误判断的比率,内存使用率和其他问题。缓存空值是Internet上的一个坏问题,但是用于缓存空值的太多空值显然是有问题的。
另一个解决方案是迅速过期。一般来讲,通用缓存的写法如下,先检查缓存,如果该缓存存在,则直接返回,如果该缓存不存在,则去数据库查询,结果不为空并将其保存在缓存中。
改进的版本用于缓存空对象,并且对于空数据,设置一个到期时间(例如10分钟)以快速到期,以防止出现太多的空值问题。但是这种解决方案仍然存在一个小问题,即短期数据不一致的问题。
想象一下,如果此时缓存的null值实际上具有一个值,则在有效期内可能存在短暂的数据不一致。缓存渗透的问题可以概括为三点。
这三种方法不是孤立的解决方案,它们可以一起使用。首先看一下数据量。
如果数据量很小并且不经常更改,则可以选择预过滤方法并根据特定的业务规则进行处理。如果数据量很大,则可以选择使用布隆过滤器,但存在一定的错误判断可能性。
通过预截取,大部分流量应为
公司: 深圳市捷比信实业有限公司
电话: 0755-29796190
邮箱: momo@jepsun.com
产品经理: 李经理
QQ: 2215069954
地址: 深圳市宝安区翻身路富源大厦1栋7楼

更多资讯
获取最新公司新闻和行业资料。
- 怎样检测贴片电阻的好坏,颉森微科技告诉你。 有两种方法可以判断贴片电阻的质量:首先是用万用表在线测量。当电阻值大于标称值时,表明部件存在断路故障或电阻值变大并已损坏。当测得的电阻值小于标称值时,考虑到外围并联元件对其的影响,应在电路外测量元件的一...
- 贴片功率电感有没有极性 电感有极性吗?电感是一个非常重要、应用非常广泛的基础电子元件,电感的电路符号是一个线圈,理论上的单线圈电感是不带极性的,所以电感这个电路符号也就没有极性标识。然而实际工程中,有的工程师会发现,电感上有...
- 电阻有没有2W功率的?应用场景及注意事项 电阻确实有2W功率的规格。在电子元件中,电阻的功率是一个非常重要的参数,它表示电阻能够承受的最大功率值。通常情况下,电阻的功率规格包括1/8W、1/4W、1/2W、1W、2W、5W、10W等。2W功率的电阻意味着该电阻能够在不损坏的情...
- ESD静电抑制管的价格是多少?有没有便宜一些的替代品? ESD静电抑制管的价格因不同品牌和型号而异,一般在几元到几十元之间。替代品有瞬态电压抑制二极管(TVS)阵列,它们是由多个TVS晶粒或二极管采用不同的布局设计成具有特定功能的多路或单路ESD保护器件,主要应用于各类通...
- 电感为什么可以储存能量,电感是如何储存电能的呢 电感器是可以存储能量并基于电磁感应原理工作的电子元件。电感器通常由线圈组成,当电流通过线圈时,线圈周围会产生磁场,从而储存能量。以下是对电感储能原理的详细分析: 电感器的工作原理:&...
- 如何选择适合的自恢复保险丝? 选择适合的自恢复保险丝需要考虑以下几个因素:额定电压和电流:应根据被保护电路的额定电压和电流选择合适的自恢复保险丝,以确保保险丝能够在过流或短路故障时正常工作。最大工作环境温度:应根据被保护电路的最大...
- 如何评估自恢复保险丝的性能? 评估自恢复保险丝的性能主要包括以下几个方面:熔断时间:熔断时间是指自恢复保险丝在过流或短路故障时熔断的时间,应符合产品规格要求。过流能力:过流能力是指自恢复保险丝在过流时能够承受的最大电流,应符合产品...
- 如何安装和使用自恢复保险丝? 安装和使用自恢复保险丝需要注意以下几点:选择合适的安装位置:应将自恢复保险丝安装在被保护电路的前端,以确保保险丝能够在过流或短路故障时及时熔断。确定正确的安装方向:应根据自恢复保险丝的安装指示进行安装...
- 人体红外感应芯片PIR信号处理解决方案 在智能家居、安防监控以及自动化控制等领域中,人体红外感应技术(Passive Infrared,简称PIR)扮演着至关重要的角色。PIR传感器能够检测到人体发出的红外辐射变化,从而判断是否有移动物体进入其监测范围。为了更高效地利用...
- 自恢复保险丝的安全性和可靠性如何? 自恢复保险丝是一种过流电子保护元件,采用高分子有机聚合物在高压、高温,反应的条件下搀加导电粒子材料后,经过特殊的工艺加工而成。其安全性和可靠性较高,具有以下优点:自复性:在发生过流或短路故障时,自恢复...
- PCIe时钟缓冲器详解:功能、选择与应用 在高速计算和数据传输领域,PCI Express(PCIe)已成为主流标准。为了确保数据传输的准确性和系统稳定性,PCIe时钟缓冲器的作用不可小觑。本文将详细介绍PCIe时钟缓冲器的功能、如何选择合适的缓冲器以及其在实际应用中的重要...
- 如何确定自恢复保险丝是否损坏?常见症状分析 自恢复熔断器作为一种非常重要的电子元件,在各个行业都有着广泛的应用。然而,在长期使用和环境影响下,自恢复保险丝也可能因各种原因而损坏。那么,如何确定自恢复保险丝是否损坏?了解自恢复保险丝自恢复保险丝是...
- 220伏电机在没有电容的情况下启动的可能性探讨 对于220伏电机而言,是否能够启动取决于其类型以及设计。单相交流电机通常需要电容来产生旋转磁场,从而实现自启动。如果没有电容,某些类型的电机(如电阻启动型电机或直接启动型电机)可能无法自行启动,或者启动转...
- 如何更换已经熔断的保险丝? 更换已经熔断的保险丝可以保证电路的正常运行,以下是一些更换已经熔断保险丝的建议:首先断开电路电源:在更换保险丝之前,必须首先断开电路电源,以确保人身安全。找到保险丝的型号:根据保险丝的型号和电路的设计...
- QA-/3 隔离开关熔断器组(上海人民):一种高效可靠的低压配电解决方案 QA-/3 隔离开关熔断器组是由上海人民电器厂生产的一种集开关与保护功能于一体的电器设备。这种装置广泛应用于低压配电系统中,作为线路及电气设备的不频繁接通和分断操作,并在过载或短路时通过熔断器进行保护。QA-/3 隔...
- 为什么有些压敏电阻可以用作磁记忆储存器? 压敏电阻可以用作磁记忆储存器,原因是它具有可记忆性和可重复写入性。由于压敏电阻的电阻值会随着磁场变化而变化,因此可以使用压敏电阻来记录磁场变化,从而实现磁记忆储存。此外,压敏电阻响应速度快,可以快速记...
- 自恢复保险丝的制造材料有哪些? 自恢复保险丝的制造材料主要包括高分子聚合物、导电颗粒和填料等。高分子聚合物:是自恢复保险丝的主要材料,其作用是在过流或短路故障时发热,使保险丝熔断。常用的高分子聚合物有聚氯乙烯、聚苯乙烯、聚酯、聚酰胺...
- 自恢复保险丝的应用范围有哪些? 自恢复保险丝的应用范围非常广泛,主要包括以下几个方面:电讯及网络:用户终端设备、类比/模拟线路卡、T1/E1设备、I SD N设备、ASDL设备、HDSL设备、总配线架保安单元、有线电话/中心局至用户电缆线等。电脑与多媒体:CPU/ I...
- 自恢复保险丝耐压值与选型有什么关系? 自恢复保险丝的耐压是多少?与选型有什么关系?自恢复保险丝的耐压是多少?自恢复保险丝的电压参数是指其能够承受的最高工作电压。如果实际工作电压大于标称额定电压,在保护过程中可能会发生击穿和烧毁。工程师在设...
- ESD静电抑制管的生产厂家有哪些?他们的产品质量如何? ESD静电抑制管的生产厂家有很多,这些厂家的产品质量一般都比较好,因为他们都有多年的研发和生产经验,并且能够提供优质的ESD静电保护器产品。例如,一家有着多年ESD静电保护器研发和生产经验的厂家,能够提供优质的ESD...