没有人告诉您如何解决更复杂的缓存渗透?

您应该在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楼

微信二维码

更多资讯

获取最新公司新闻和行业资料。

  • 深入解析JVZ高浪涌系列压敏电阻器:如何应对复杂电磁环境? JVZ高浪涌系列的技术突破与应用价值JVZ高浪涌系列压敏电阻器专为严苛工业与户外环境设计,融合了纳米级金属氧化物颗粒技术与多层结构封装工艺,显著提升了器件的整体防护性能。该系列产品不仅满足IEC 61058、GB/T 16935等国际...
  • 如何提升电容式接近开关在复杂环境下的稳定性? 电容式接近开关在复杂工况下的稳定性增强方案电容式接近开关虽具备无机械磨损、响应速度快等优点,但在高温、高湿、强电磁干扰环境下易出现误动或失效。以下从硬件、软件及安装三方面提出系统性解决方案。1. 硬件层面...
  • 怎样检测贴片电阻的好坏,颉森微科技告诉你。 有两种方法可以判断贴片电阻的质量:首先是用万用表在线测量。当电阻值大于标称值时,表明部件存在断路故障或电阻值变大并已损坏。当测得的电阻值小于标称值时,考虑到外围并联元件对其的影响,应在电路外测量元件的一...
  • 如何提升模拟量模块在复杂环境下的抗干扰能力? 如何提升模拟量模块在复杂环境下的抗干扰能力?在工业现场环境中,模拟量模块常面临高温、强电磁场、振动、粉尘等恶劣条件。若无有效抗干扰设计,将直接导致测量误差增大、系统误动作甚至设备损坏。以下从硬件与软件...
  • 贴片功率电感有没有极性 电感有极性吗?电感是一个非常重要、应用非常广泛的基础电子元件,电感的电路符号是一个线圈,理论上的单线圈电感是不带极性的,所以电感这个电路符号也就没有极性标识。然而实际工程中,有的工程师会发现,电感上有...
  • 电阻有没有2W功率的?应用场景及注意事项 电阻确实有2W功率的规格。在电子元件中,电阻的功率是一个非常重要的参数,它表示电阻能够承受的最大功率值。通常情况下,电阻的功率规格包括1/8W、1/4W、1/2W、1W、2W、5W、10W等。2W功率的电阻意味着该电阻能够在不损坏的情...
  • 自恢复PPTC保险丝详解:如何选型与应用?聚鼎提供一站式解决方案 自恢复PPTC保险丝详解:如何选型与应用?聚鼎提供一站式解决方案自恢复PPTC保险丝因其独特的“过流保护+自动复位”特性,已成为现代电子系统中不可或缺的安全组件。面对市场上琳琅满目的产品,如何正确选型并高效应用?...
  • 如何选择合适的PCI Express时钟缓冲器?技术要点全解析 如何选择合适的PCI Express时钟缓冲器?技术要点全解析面对市场上种类繁多的PCI Express时钟缓冲器,正确选型是保障系统性能与稳定性的关键。以下从多个维度出发,帮助工程师和设计人员做出科学决策。1. 确定PCIe版本与速率支持...
  • ESD静电抑制管的价格是多少?有没有便宜一些的替代品? ESD静电抑制管的价格因不同品牌和型号而异,一般在几元到几十元之间。替代品有瞬态电压抑制二极管(TVS)阵列,它们是由多个TVS晶粒或二极管采用不同的布局设计成具有特定功能的多路或单路ESD保护器件,主要应用于各类通...
  • 深入剖析HELI系列高亮度LED在复杂环境中的可靠性优势 HELI系列高亮度LED:复杂工况下的“不倒翁”式光源在电力、矿山、轨道交通等高风险作业环境中,照明设备的可靠性直接关系到人员安全与生产效率。HELI系列高亮度LED以其卓越的抗干扰能力、耐振动特性与宽温适应性,成为这些...
  • 电感为什么可以储存能量,电感是如何储存电能的呢    电感器是可以存储能量并基于电磁感应原理工作的电子元件。电感器通常由线圈组成,当电流通过线圈时,线圈周围会产生磁场,从而储存能量。以下是对电感储能原理的详细分析:  电感器的工作原理:&...
  • 如何优化微分时钟信号缓冲器的设计以提升系统稳定性 优化微分时钟信号缓冲器设计的关键策略随着电子系统向更高频率、更低功耗方向发展,微分时钟信号缓冲器的设计面临更大挑战。合理的布局布线、电源管理及器件选型是提升系统稳定性的关键。1. PCB布局与走线优化差分信号...
  • 深入对比:WAN1608H245H08 vs H04 —— 哪款更适合您的工业项目? 前言:型号差异背后的逻辑在工业通信模块选型过程中,型号后缀的细微差别往往隐藏着重大性能差异。本文聚焦于 WAN1608H245H08 与 WAN1608H245H04 的对比,揭示二者在硬件配置、功能扩展与应用场景上的根本区别,助力工程师精准匹...
  • 差分时钟缓冲器如何优化系统时序并提升整体性能 差分时钟缓冲器在系统性能优化中的关键角色随着集成电路复杂度的增加,系统时序设计成为制约性能的主要瓶颈。差分时钟缓冲器凭借其卓越的抗噪能力与相位一致性,正成为高性能电子系统不可或缺的组成部分。1. 抗干扰能...
  • JVZ超高浪涌系列压敏电阻:应对复杂电磁环境的可靠守护者 JVZ超高浪涌系列压敏电阻的技术突破与应用价值随着电子设备集成度提升和运行环境日益复杂,对过压保护器件的性能要求也不断提高。JVZ超高浪涌系列正是针对这一趋势推出的高端压敏电阻产品,专为高可靠性、高抗扰性应用...
  • 零延迟缓冲器与低延迟时钟缓冲器的技术原理及应用解析 零延迟缓冲器与低延迟时钟缓冲器的核心技术对比在高速数字系统设计中,时钟信号的完整性与传输延迟直接影响系统的性能与稳定性。零延迟缓冲器(Zero Delay Buffer, ZDB)和低延迟时钟缓冲器(Low Latency Clock Buffer)是两类关键的...
  • 零延迟缓冲器与普通缓冲器的性能对比分析 零延迟缓冲器与普通缓冲器的性能对比分析在现代电子系统设计中,信号完整性与传输延迟是决定系统性能的关键因素。随着高速数字电路的发展,传统的普通缓冲器已逐渐暴露出其在低延迟、高稳定性方面的局限性。相比之下...
  • 如何在高速电路中合理选择零延迟与低延迟时钟缓冲器 高速电路设计中时钟缓冲器的选型策略随着集成电路工作频率不断攀升,时钟信号的延迟与抖动问题日益突出。正确选择零延迟缓冲器或低延迟时钟缓冲器,是确保系统稳定运行的关键环节。一、影响选型的关键参数1. 延迟(Lat...
  • 如何选择适合您的长寿命HY系列或HL系列?实用选购指南 长寿命HY系列与HL系列对比选购指南面对市场上琳琅满目的长寿命传动部件,用户常面临“该选HY还是HL?”的困惑。本文将从应用场景、性能参数、安装方式等多个角度出发,帮助您做出科学决策。1. 产品定位差异:HY vs HLHY系列...
  • 如何正确选型聚鼎DISC自恢复保险丝?关键参数解析 如何正确选型聚鼎DISC自恢复保险丝?关键参数解析在实际应用中,选择合适的自恢复保险丝是保障电路安全与系统稳定的关键。聚鼎DISC系列自恢复保险丝因其紧凑结构与高性能表现,成为众多工程师的首选。本文将从核心参数出...