早在2006年,Facebook就部署了超过400台Memcached服务器,超过 5TB的数据在Memcached中,而且除了业务数据外,还有页面缓存,文件缓存等所有可以缓存的东西。在互联网应用中,说Cache为王一点都不过分,任何一个成功的站点都有一套最合适自己的 Cache 设计规划重点策略。利用缓存,提升的整个系统的访问效率,提高了网站访问的吞吐量,特别在高并发的时候,系统依然非常强劲的运行。与互联网不同,企业系统很少在展现层做Cache设计规划,而且企业系统对业务数据的实时性和准确性都比较高,好像缓存没有用武之地了。
其实不然,缓存作为辅助成分依然发挥着巨大的作用,缓存利用的好,绝对能让企业系统的运行效率,业务处理提高一个档次。特别在OECP的分布式设计架构下,缓存发挥着巨大的作用。接下来将来讨论Cache设计规划的重点内容。
Cache设计规划重点一、在DAO层使用Hibernate的二级缓存,对变化相对较少的业务数据(权限、主数据等)进行全局的缓存配置,充分利用内存和磁盘缓存降低数据库的访问频率,将数据查询的压力前移,利用EJB容器强大的处理能力,提高整体的性能。
Cache设计规划重点二、 对和用户有关的相关统计信息,比如用户登陆日志、操作行为日志等信息结合Stateful的会话Bean和系统运行监视Cache进行相应的管理,在用户登出系统时,统一刷新用户缓存数据到数据库,通过这种统一的批量的数据处理,降低了数据库的频繁访问,减轻了数据库的压力,同时更高效的查看系统当前运行情况。
Cache设计规划重点三、客户端需要使用Cache进行相应的处理,来尽量减少对EJB组件的访问。EJB作为分布式的组件,常常架构在不同的物理服务器上,虽然在局域网的环境中,网络传输的速度是很快的,但是相对于本地访问来说,频繁访问远程服务带来的带宽资源的消耗依然是不能忽视的,利用客户端缓存可以尽量减少对远程EJB的访问。
Cache设计规划重点四、在统计和报表计算时,需要应用大量的缓存来提升计算的效率。以下是三种缓存策略:
A. 对统计结果实时性要求不高的(比如年报、月报),历史数据不允许随意修改的情况(财务中的账),可采用后台任务定时统计策略,集中一个时间内对数据库中的数据经过查询、计算,将统计结果放在缓存中。方便用户查看统计信息和生成相关报表。
B. 对于部分统计结果实时性要求很高的功能,可以在后台任务定时统计的基础上,加上增量数据,产生一个比较精确的统计结果。
C. 对于历史数据可以被修改的情况,可以在修改的时候更新缓存,使缓存和真实的数据保持同步。
分享到:
相关推荐
微博Cache架构设计实践涉及了缓存系统的设计原理、实施策略、以及在实际运营中遇到的问题和解决方案。 缓存(Cache)是一种用于临时存储频繁访问数据的技术,它能够显著减少数据的读取时间,降低后端服务器的压力,...
同时,这也将涵盖Verilog HDL的基本语法和使用技巧,以及Cache设计的关键技术。 在整个设计过程中,开发者需要特别注意数据传输的分块问题,以及如何在有限的带宽下实现LRU替换策略。此外,理解和应用无限写缓冲...
5. **性能优化与最佳实践**:分享在医疗系统中使用Cache的性能优化技巧,如预热Cache、容量规划、并发控制等。 6. **案例研究**:通过实际的医疗项目案例,展示Cache和面向对象编程结合的实际效果和问题解决过程。 ...
服务版通常针对服务器环境设计,优化了多用户并发访问和高负载下的性能;桌面版则更适合个人电脑使用,可能在资源占用和易用性上进行了调整。 3. **注册机**: "含注册机"意味着软件可能需要激活才能正常使用。...
### lurk-cache源码分析及应用 #### 一、背景介绍 随着互联网技术的发展和用户需求的多样化,网站和应用程序的访问量呈现爆发式增长。在这种背景下,如何提高系统的响应速度和服务质量成为了一个亟待解决的问题。...
ASP.NET应用程序规划与设计是构建高效、可扩展和安全的Web应用程序的关键步骤。在这个过程中,开发者需要考虑多种因素,包括应用程序的功能需求、架构选择、性能优化以及安全性策略。以下是对这个主题的详细阐述: ...
本文件内容主要涵盖了网络规划设计师考试的2016年下半年上午真题及答案解析,由小任老师提供,该老师拥有十年高校计算机专业课教学经验,并且提供了获取免费资料、历年真题、问题解答、经验交流的渠道。接下来,我们...
2. **数据库设计**:可能涉及到数据库模式设计,如何优化查询以利用缓存,例如使用索引、预加载策略等。 3. **缓存策略**:可能讨论了不同的缓存策略,如LRU(Least Recently Used)最近最少使用、LFU(Least ...
高级网络规划设计师核心考点解密 本文将对高级网络规划设计师核心考点进行解密,涵盖计算机结构、存储系统、CPU性能、磁盘调度算法、可靠性计算、流水线计算和死锁问题等方面的知识点。 一、计算机结构 计算机...
本书是系统架构设计师教程,涵盖了计算机组成与体系结构、操作系统、数据库系统、计算机网络、系统性能评价、开发方法、系统规划、系统分析与设计方法等多个方面的知识。 在计算机组成与体系结构方面,本书详细介绍...
城市规划设计网站模板是一款专为建筑设计企业打造的、基于HTML5技术的前端网页模板。这款模板以其大气、现代的设计风格,能够有效地展示建筑公司的品牌形象和项目成果,为访客提供优质的用户体验。HTML5作为最新的超...
【基于分类Cache的Web服务组合模板检索算法】 随着互联网的发展,Web服务已成为构建分布式应用程序的重要方式。Web服务组合,即通过集成多个单一服务,形成能满足更复杂需求的新服务,是提升服务功能的关键。本文...
FastDFS是一个高性能的开源文件系统,专为互联网设计,能够有效地解决大容量存储和负载均衡的问题。它主要由Tracker Server和Storage Server两部分组成。Tracker Server负责调度和管理,而Storage Server则用于实际...
1. **arcgis**:Esri公司的核心GIS(地理信息系统)产品,提供地图创建、数据分析和地理处理等功能,广泛应用于测绘、城市规划、环境研究等领域。 2. **javascript**:Experience Builder基于JavaScript开发,因此...
- **离线存储**:通过 Application Cache (AppCache) 提供了离线访问网页的能力。 - **表单控件增强**:新增了日期选择器、滑块等输入类型,简化了数据验证。 - **拖放功能**:`drag` 和 `drop` 事件使得文件或数据...
5. 计算机网络:理解网络模型(如OSI/RM七层模型和TCP/IP协议族)、IP地址管理(子网划分、IPv6)、网络体系结构,以及网络存储、规划、设计和安全问题。 系统架构设计师不仅需要深入理解上述技术细节,还要具备...
- **离线存储(Offline Storage)**:通过Application Cache和IndexedDB,系统可以缓存数据,在无网络连接时仍能运行。 - **拖放功能(Drag and Drop)**:用户可以方便地将文件或其他元素拖放到指定区域,用于...