`

Cache的设计规划

阅读更多

   早在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. 对于历史数据可以被修改的情况,可以在修改的时候更新缓存,使缓存和真实的数据保持同步。

分享到:
评论

相关推荐

    2005-2009软件设计师历年真题

     • 运算基本方法(预测与决策、线性规划、网络图、模拟)  1.5 常用数据结构  • 数组(静态数组、动态数组)、线性表、链表(单向链表、双向链表、循环链表)、队列、栈、树(二叉树、查找树、平衡树、线索树、...

    基于大数据的医院财务管理与决策系统的设计与开发

    MongoDB - Near Cache中,并辅以在线事务处理和分析能力设计的平台。借鉴银行业 处理批量数据和实时数据的成熟理念和经验,对该系统进行规划,既能提升原有系 统的效用,又为决策活动提供有力信息支持

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    动态规划 数据挖掘算法 KMP算法 GZZ算法 HASH分桶 关联规则算法 APRORIVE算法 分布式 负载均衡 水平伸缩 集群 分片 Key-hash 异步 一致性hash 消峰 分库分表 锁 悲观锁 乐观锁 行级锁 分布式...

    接入网设计方案.pdf

    实现校内外的WEB访问,通过CACHE加快网络访问速度及减 少网络主干负载 2. 小区内部多媒体网络应用: 利用现有的数据网络平台传输语音和视频的服务,为了避免 语音、视频信号的抖动与延迟,不仅要求语音和视频在基于...

    MyQEE开源PHP多项目及模块化开发框架 v3.0 RC2.zip

    * 包括`Database`, `Cache`, `HttpClient`, `Session`, `Storage`, `Upload` 等支持多驱动,可以适应不同环境的需求,其中数据库支持 `MySQL`, `MySQLI`, `Mongo`, `SQLite`, `Postgre`,缓存支持 `Memcache`, `File...

    ORACLE9i_优化设计与系统调整

    §9.4.4 临时表空间设计规划 100 §9.4.5 数据文件和日志文件在不同磁盘上 101 §9.5 数据库物理设计 101 §9.5.1 定量估计 101 §9.5.2 表空间与数据文件 102 §9.5.3 物理设计原则 103 §9.5.4 数据库物理设计内容...

    任务管理系统kele.zip

    第七步用户设置 第八步页面设计 本系统没有使用模板解析,直接使用php代码第九步返回路劲 static\cache\url.php这样一个新的功能被实现了,如果有一步出错请按顺序核实每个步骤 标签:kele

    SOLR的应用教程

    3.3 搜索引擎的规划设计 32 3.3.1 定义业务模型 32 3.3.2 定制索引服务 34 3.3.3 定制搜索服务 34 3.4 搜索引擎配置 34 3.4.1 Solr Schema 设计(如何定制索引的结构?) 34 3.5 如何进行索引操作? 36 3.5.1 基本索引...

    ASP.NET3.5从入门到精通

    13.1.7 Cache 缓存对象 13.1.8 Global.asax 配置 13.2 ASP.NET 应用程序配置 13.2.1 ASP.NET 应用程序配置 13.2.2 Web.config 配置文件 13.2.3 ASP.NET 基本配置节 13.3 ASP.NET 缓存功能 13.3.1 缓存概述 13.3.2 ...

    算法面试通关手写代码40讲 .txt

    面试题:设计和实现一个LRU Cache缓存机制.mp4 55.理论讲解: LRU Cache.mp4 54.面试题:岛屿的个数&朋友圈(下).mp4 53.面试题:岛屿的个数&朋友圈(上).mp4 52.理论讲解:并查集.mp4 51.面试题:编辑距离.mp4 50...

    lrucacheleetcode-leetcode:leetcode算法学习记录golang版

    cache leetcode Leetcode 参考: leetcode 经典题目解析&golang版代码 简单难度 中等难度 困难难度 算法专项 KMP 算法 动态规划: 887. 鸡蛋掉落 5. 最长回文子串 494. 目标和 322. 零钱兑换 279. 完全平方数 198. ...

    美国..现代编译原理C语言描述.高清版

    9.1.2 动态规划 140 9.1.3 树文法 141 9.1.4 快速匹配 143 9.1.5 覆盖算法的效率 143 9.2 CISC机器 144 9.3 Tiger编译器的指令选择 146 9.3.1 抽象的汇编语言指令 146 9.3.2 生成汇编指令 148 9.3.3 过程调用 151 ...

    4一面 4:前端从容应对算法题目(1).md

    # 一面 4:从容应对算法题目 由冯·诺依曼机组成我们知道:数据存储和运算是计算机工作的主要内容。`程序=数据结构+算法`,所以...* 读写都多的数据结构,要兼顾两者的需求平衡,比如 LRU Cache 算法。 算法是数据

    高性能高并发服务器架构大全

    2,动态Cache 服务器 -- 52 美国Facebok.com,中国Yeejee.com,日本mixi.jp均采用开源分布式缓存服务器Memcache 52 3,图片缓存和加 52  memcached+squid+apache deflate解决网站大访问量问题 52  FeedBurner:...

    Oracle_RAC安装配置指导书

    (2)在系统规划设计较差时性能甚至不如单节点; (3)可能会增加软件成本(如果使用高配置的pc服务器,Oracle一般按照CPU个数收费)。 在Oracle9i之前,RAC的名称是OPS (Oracle parallel Server)。RAC 与 OPS 之间的一个...

    ORACLE DBA 手册

    规划磁盘I/O 5 对数据量估计 5 对只读类数据的设计规化 5 二、部署时调优 6 系统参数调整 6 调整LGWR 6 调整DBWR写进程 6 调整LGWR I/O 7 调整Dml_locks 8 调整Open_cursors 8 调整Data_links 8 调整系统进程数...

    asp.net知识库

    使用SQL Cache Dependency 代替 Ibatisnet 提供的CacheModel ASP.NET 2.0中小心Profile命名冲突 使用ASP.NET 2.0 Profile存储用户信息[翻译] Level 200 [ASP.NET 2.0]PageParser.GetCompiledPageInstance中存在一个...

    ASP.NET 3.5 开发大全11-15

    13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出...

    ASP.NET 3.5 开发大全

    13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出...

    ASP.NET 3.5 开发大全1-5

    13.1.7 Cache缓存对象 13.1.8 Global.asax配置 13.2 ASP.NET应用程序配置 13.2.1 ASP.NET应用程序配置 13.2.2 Web.config配置文件 13.2.3 ASP.NET基本配置节 13.3 ASP.NET缓存功能 13.3.1 缓存概述 13.3.2 页面输出...

Global site tag (gtag.js) - Google Analytics