`

业务层面缓存穿透的解决方案

 
阅读更多

网上有一些关于缓存穿透和缓存雪崩的解决方案,无非是:

      1.如果查询数据为null,则把null进行缓存

      2.使用布隆过滤器

 

先来说说缓存穿透的概念:我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。

 

再来讲讲我们的业务场景:

      1.通常我们是首页,或是统计页,用户请求较多,首页进入系统必定会加载,统计页(针对一些准实时的统计结果)查询的SQL或是结果比较复杂。

      2.时效性一般,基本上小时级别

      3.数据量较大,一般是亿级或是千万级别

      4.业务逻辑比较复杂,可能需要进行各种表的关联

      5.如果请求过多,有可能数据库奔溃,即使在进行分库分表之后还是有可能占用一大部分的数据库IO和CPU资源

      6.统计的维度较多,每个用户请求的维度可能是不一样的。

      针对上述情况我们一般的做法,就是加一层缓存,请求过来先去访问缓存,可以使用memcached或是redis,如果缓存不存在或是缓存失效的情况下,再去load DB。大部分的情况下,这是非常好的,但是某一天如果你需要重启缓存,或是缓存在某一时刻失效很大一部分,这就会导致我们之前所说的缓存穿透。

     ok,来说下我们在缓存穿透的优化吧:先来看个架构图,在来解释

      

 

    1.更具业务统计的维度或是场景,建立一张以JSON格式为模板的表

    2.通过调度平台,定时的把任务统计完成并保存至模板表中和缓存集群中

    3.不断对2进行轮询,保持数据的热度

    4.用户请求过来,先访问我们的缓存,一旦缓存失效或是重启,直接从数据库模板表中获取最新的热度数据并缓存,这样我们就能有效的减轻数据库的压力。

    5.这也是一种缓存预热的方案

 技术交流:534368042

分享到:
评论

相关推荐

    缓存一致性问题与解决方案

    事务解决的也是数据一致性的问题(业务层与数据库层面的一致性),看来这个也跟数据库的事务没有关系。 4、我们可以采用队列来实现,read的时候判断当前队列中是否存在删除操作,如果存在直接等待,如果没有直接...

    华为3Com新一代高安全金融业务网络解决方案

    华为3Com公司整合型网点解决方案同时提供了三个层面的整合特性支持:设备整合、数据整合和业务整合,在全面整合的同时,更提供一体化的安全、可靠性支持和完善的可管理特性,并且全面预留下一代面向业务的骨干网络...

    架构层面高并发解决方案

    Web项目,尤其是面向C端的项目,做到中后期往往要解决高并发的问题。本文通过对三种架构的并发性能分析,为这一阶段的开发和重构提供参考。

    Spring能够粘合不同层面的解决方案

    OpenDoc项目发起人及《DrBobb’s Journal China 》,Spring能够粘合不同层面的解决方案,但无论是MVC层还是ORM层,Java领域从来都不缺少好的框架,我们在使用Spring时,从这些框架中做选择的依据是什么?

    IBM EAI电信业务支撑系统的EAI架构规划及IBM解决方案

    Very Good! 1.1. 本文目的 本文的目的在于针对中国电信行业EAI的建设,从技术层面提出几点架构性建议,供电信运营...• EAI的高端解决方案——业务行为监控(BAM) • 解决EAI性能瓶颈 • 电信行业EAI项目管理实施经验

    华为3Com民航信息化网络解决方案

    业务融合是网络一体化发展的基本要求,华为民航信息化网络解决方案体系结构在基础平台、业务管理、增值业务三个层面提供系统解决方案,构建端到端的可管理、全线速、全业务民航网络平台,全面支持Qos、安全、内容...

    华为3Com钢铁企业网络解决方案

    业务融合是网络一体化发展的基本要求,华为3Com钢铁企业网络解决方案体系结构在基础平台、业务管理、增值业务三个层面提供系统解决方案,构建端到端的可管理、全线速、全业务的钢铁企业网络平台,全面支持Qos、安全...

    GPRS业务应用端到端优化解决方案

    目前市场上以GPRS为承载网的各类业务应用快速发展,客户端反馈过来的问题也随之增多。...本文旨在通过介绍端到端的优化概念和其在现网的实际应用,探讨当前在数据业务应用层面如何有效提升客户满意度的解决方案。

    IMS融合解决方案的框架

    阿尔卡特朗讯以清晰的理念和丰富完整的产品系列,为运营商构建先进的、可管理、可赢利的下一代融合网络。...其解决方案的框架,从接入连接层面到业务提供层面,包括了三个部分:联合控制、业务增强和业务工厂及支付。

    Biz BPMS商业业务流程管理解决方案 及 商业动态流程管理的完美解决之道

    Biz BPMS-业务流程管理解决方案(Business Process Management Solution) 是盈合软件公司提供的面向金融与电信级的商业动态流程管理解决方案。 Biz BPMS致力于解决商业流程动态化、商业逻辑动态化的难题,它的做法是...

    FB 业务层面内部控制的了解与评价(关键控制点的识别).zip

    FB 业务层面内部控制的了解与评价(关键控制点的识别).zip

    水利信息化网络解决方案

    华为3Com 水利信息化网络解决方案特点:提供完整的安全体系:提供完整的安全体系结构,覆盖了系统的各个层面,采用了包括防火墙、认证、授权、端口绑定等系列的安全措施,确保网络的安全性。提供了Quidview管理系统...

    网络安全解决方案.pptx

    网络安全解决方案完整内容 仅从技术层面考虑,一个完整的网络安全解决方案至少应包括以下内容。 (1)网络安全需求 (2)网络安全建设目标 (3)网络安全建设原则 (4)网络安全策略 (5)安全设备选型 (6)设备...

    数据中心存储解决方案.pdf

    华为ISP存储解决方案 2 云服务是ISP行业最具发展潜力的业务 协作及基础架构承载 EQUINIX RACKSPACE 超大型OTT AMAZO ALIBABA 虚拟化软件供应商 VMWARE MICROSOFT 子运营商 T-SYSTEM HKT 互联网接入供应商 TOWNGAS ...

    SAP企业信息管理解决方案助力企业数字化转型.rar

    这些解决方案涵盖了企业运营的各个层面,包括供应链管理、生产执行、客户关系管理、人力资源管理等。通过深入分析企业现状,结合行业发展趋势,我们为企业提供了一套完整的数字化转型路径。从业务流程优化、数据整合...

    XXXX集团BI项目解决方案.rar

    XXXX集团BI(商业智能)项目解决方案是一个针对企业数字化转型设计的综合性资料包,旨在通过高度集成的数据分析、报告和绩效管理工具,助力企业捕捉数据价值并转化为业务决策。这个解决方案的核心在于构建一个统一的...

    VMware云计算-SDDC解决方案.pptx

    软件定义的数据中心 VMware 从三个层面提供云计算解决方案 4 EUC 桌面 移动 社交 私有云 虚拟化基础架构 管理与自动化 混合云 私有云 公有有云 + VMware云计算-SDDC解决方案全文共60页,当前为第4页。 自动化 ...

    集团财务管理解决方案.zip

    集团财务管理解决方案是一个全面整合的、智能化的企业财务系统,旨在帮助集团企业实现财务流程自动化、提高...通过实施这一解决方案,企业将能够在复杂多变的市场环境中稳健前行,保持财务健康和业务增长。重新回答||

Global site tag (gtag.js) - Google Analytics