




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
缓存技术总结范文 分布式缓存在提升性能和可伸缩性时举足轻重,但Java目前还没有任何完整、标准的缓存机制。 JSR-107(JCache API)正在紧锣密鼓的制定当中,以后会成为Java EE7的一部分。 JSR-107这些年有些声名狼藉,因为它是一个很老的规范,但到现在还没有完成,不过随着对缓存的需求越来越多,JSR-107最终是要问世的。 JCACHE是一种即将公布的标准规范(JSR107),说明了一种对Java对象临时在内存中进行缓存的方法,包括对象的创建、共享访问、假脱机(spooling)、失效、各JVM的一致性等。 它可被用于缓存JSP内最经常读取的数据,如产品目录和价格列表。 利用JCACHE,多数查询的反应时间会因为有缓存的数据而加快(内部测试表明反应时间大约快15倍)。 Terracotta公司在xx年收购了著名的Java开源缓存项目Ehcache以及Java任务调度项目Quartz。 经过对该项目的深度整合,Terracotta推出了易用性更高的分布式缓存、分布式任务调度以及分布式Web Session等快捷解决方案,进一步方便了开发人员开发分布式Java应用。 Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。 它提供了巨大的灵活性而不牺牲简单性。 你能够用它来为执行一个作业而创建简单的或复杂的调度。 它有很多特征,如数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。 该项目已经被Terracotta收购。 Terracotta是一款由美国Terracotta公司开发的著名开源Java集群平台。 它在JVM与Java应用之间实现了一个专门处理集群功能的抽象层,以其特有的增量检测、智能定向传送、分布式协作、服务器镜像、分片等技术,允许用户在不改变现有系统代码的情况下实现单机Java应用向集群话应用的无缝迁移。 使得用户可以专注于商业逻辑的开发,由Terracotta负责实现高性能、高可用性、高稳定性的企业级Java集群。 随着Terracotta对Ehcache的收购成行,业界两大知名的开源Java缓存产品走到了一起。 以提供JVM级“POJO集群”而闻名于世的Terracotta可以将运行在单个JVM上的多线程应用移植到多个JVM上而无需修改任何代码;而Ehcache的使用也是相当广泛的,无数的产品和项目中都可以见到其身影;它提供了类似于Oracle Coherence的标准的HashMap风格的接口。 这两者的强强组合将会出现在绝大多数的Java缓存产品中。 对于Ehcache用户来说,加入Terracotta将获得如下好处对于Ehcache用户来说,加入Terracotta将获得如下好处可以继续使用当前的Apache2协议。 使用由Terracotta所管理的全新托管环境高质量的论坛、源码控制、maven基础设施等等,而位于sourceforge上的那些内容则保持不变。 一个致力于不断提升Ehcache性能和特性的全职卓越团队。 为基于Ehcache的应用添加集群以及分布式数据的升级指南。 针对Ehcache安装和配置的企业级支持与培训。 而对于Terracotta用户来说Ehcache接口将替换掉Terracotta的分布式缓存从而成为单独的缓存接口,它也将成为Terracotta分布式缓存的标准。 单节点版本的Terracotta,可以像其服务器版那样运行在桌面w/o上。 1.2.3.4.5.1.2.3.4.可以轻松运行在最新版的Ehcache上。 针对其缓存接口/程序库以及可伸缩性/可靠性/运行时的一个供应商支持结构。 相对于Coherence来说,Terracotta与Ehcache的联合具有如下优势使用率。 如果你已经将应用构建在了Ehcache上,那么现在就可以轻松升级成分布式的了。 多种手段来使用缓存。 既可以使用传统的Terracotta POJO缓存,也可以使用基于API的方式。 开源。 Greg Luck说到Coherence是闭源的”。 对于开发者来说,如果想使用Coherence就必须请示高层(比如说CTO);而Ehcache和Terracotta开发则可以从基层做起。 这样对于那些想使用Coherence的开发者来说就可以先从Ehcache开始(一个结点),然后轻松移植到分布式的Terracotta上。 现在又涌现出了很多新的竞争者,比如Apache Dynamite以及Memcached等。 Ehcache项目的协议仍然是Apache2,还可以通过sourceforge,Maven等来访问。 维基百科上对Memcached的介绍是一个分布式的缓存系统,但是Memcachd到底是什么意思,有什么作用呢?缓存一般用来保存一些经常被存取的数据和资源(例如浏览器会将访问过的网页会话缓存起来),因为通过缓存来存取数据要比从磁盘存取同样的数据要快得多。 所以Memcached顾名思义,意味着“内存缓存”,所有缓存的内容都在服务器的内存中。 内存中的这些缓存数据可以通过API的方式被存取。 数据是以key/value的配对方式存在的,就像一个很大的Hash表。 分布式是Memcached的主要特性,所以你可以在多台服务器上来安Memcached来组建一个更大的缓存服务器。 这样一来,Memcached可以帮助我们使数据库的压力降到最低,从而我们可以构建出更快的、更具扩展性的WEB应用。 图一展示了Memcache如何与数据库端协同工作的情况。 1Memcache是什么Memcache是danga.的一个项目,最早是为LiveJournal服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。 它可以应对任意多个连接,使用非阻塞的网络IO。 由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。 为什么会有Memcache和memcached两种名称?其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名2Memcache工作原理首先memcached是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端API包括Perl/PHP/Python/Ruby/Java/C#/C等等。 客户端在与memcached服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符key,存取操作均通过这个key进行,保存到memcached中的对象实际上是放置内存中的,并不是保存在cache文件中的,这也是为什么memcached能够如此高效快速的原因。 注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。 1.2.3.与许多cache工具类似,Memcached的原理并不复杂。 它采用了C/S的模式,在server端启动服务进程,在启动时可以指定监听的ip,自己的端口号,所使用的内存大小等几个关键参数。 一旦启动,服务就一直处于可用状态。 Memcached的目前版本是通过C实现,采用了单进程,单线程,异步I/O,基于事件(event_based)的服务方式.使用libevent作为事件通知实现。 多个Server可以协同工作,但这些Server之间是没有任何通讯联系的,每个Server只是对自己的数据进行管理。 Client端通过指定Server端的ip地址(通过域名应该也可以)。 需要缓存的对象或数据是以key-value对的形式保存在Server端。 key的值通过hash进行转换,根据hash值把value传递到对应的具体的某个Server上。 当需要获取对象数据时,也根据key进行。 首先对key进行hash,通过获得的值可以确定它被保存在了哪台Server上,然后再向该Server发出请求。 Client端只需要知道保存hash(key)的值在哪台服务器上就可以了。 Terracotta近年来在分布式缓存应用卓绝努力,最近刚发布Terracotta3.1,包括了一个新的更快的Hibernate second-level cache二级缓存实现。 Hibernate缓存实现在Terracotta集成模块分布缓存DistributedCache之上完成。 下面图片现实了实现机制DistributedCache在能够极大扩展的ConcurrentDistributedMap之上建立,Terracotta也曾经在本地缓存方面努力,但是收购了Ehcache以后,将专注于分布式缓存。 这样Terracotta将提供统一的完整的缓存解决方案。 喜欢Ehcache简单、高性能和灵活特性的用户,现在可以通过Terracotta无缝接入分布式企业应用缓存的功能,获得企业数据一致性,操作的可视性和可控性等功能。 Ehcache和Terracotta的结合为您的业务和应用提供了一系列广泛的缓存功能、商业支持模式和专业服务。 Redis是一种高级key-value数据库。 它跟m emcached类似,不过数据可以持久化,而且支持的数据类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版河砂运输仓储管理及配送合同
- 2025房地产代理销售协议书:特色小镇文旅地产代理服务
- 二零二五年度生态环保地板砖供货与市场推广合同
- 2025版跑步赛事官方赛事宣传册与海报设计合同
- 2025版房地产担保规定及会计处理办法合同
- 二零二五年金融机构财务顾问聘用协议书
- 2025版化肥行业环保达标改造合同范本
- 2025版企业员工离职交接与保密协议合同范本下载
- 二零二五年珠宝首饰代理销售合作协议模板
- 二零二五年度健康环保电压力锅代理销售合同
- 普查保密协议书
- 《初学者指南:美术基础课件》
- 冶金矿山采矿设计规范
- 巷道掘进与顶板管理培训课件
- 配送车辆违章管理制度
- 2024-2025学年北师大版一年级数学上册全册教案
- 方案1-绿化养护费用计算清单
- 2025年牙医资格证技能试题及答案
- 苦草植物施工方案
- 《SMC压力开关》课件介绍
- DG-TG08-12-2024 普通中小学建设标准
评论
0/150
提交评论