欢迎来到天天文库
浏览记录
ID:39551528
大小:303.00 KB
页数:44页
时间:2019-07-06
《java web 缓存技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVAWeb应用缓存技术资料收集与总结转WEB用户行为分析系统上线,在测试某些功能时候,发现部分功能响应时间过长,比如对起点文学的按月的统计数据显示,响应时间超过了3秒,这个不太符合用户的需要,那么接下来就是优化系统,提高系统速度的工作。我们在分析响应速度缓慢的原因,发现还是数据库处理数据这块原因,究其根本还是数据量过大的原因,而且在数据库层面已经速度这块很难再有提升,因此考虑到web的缓存技术,这些响应速度缓慢的功能基本都是按周,按月的统计数据,因此在单位时间内的缓存是完全可以实现,以下就是我收集的javaweb缓存的相关技术,有两个技术重点推荐,一个是OSCache,一个是JCS,这
2、两个是缓存技术里应用最为广泛的,也是最为成熟并且是开源的技术。下面是我推荐这两种技术的原因,如下:1)都是开源的JAVA程序2)网上能找到比较丰富的资料3)都支持分布式的系统4)操作部署都不太难5)均符合我们现在系统开发的需要OSCACHE和JCS区别在哪里了?现在我都只是简单看了下,现在总结还不全面,等具体操作后会加以补充:1)OSCache我找到的资料,我感觉主要是是页面级的缓存,他的缓存开发代码基本都是在页面里,用标签定义,应该数据都是缓存在客户端(这点还要细细体味)2)JCS是服务端的缓存,他基本是将需要缓存的数据先存在服务器的内存或是硬盘里,在一定时间内用户可以不通过数据库这个线
3、路获取数据,而是从服务器直接获取,但这样会不会服务端负荷过大从以上区别来说,如果数据能在客户端缓存,我还是更加推荐点,但是客户端如果缓存,用户要是有什么原因经常清理客户端缓存也是个问题。最后这几种缓存技术和我们现在系统的整合的问题,这个我还要接着找下数据,我们系统是struts2+jquery(service和DAO层,这个缓存应该不会牵涉到),JCS是服务端缓存,所以数据返回可以在action里封装,对于前台而言影响不大,至于OSCache,如果使用它那么系统该如何改造,这个我要考虑下。再有就是何时来缓存数据,就是触发缓存的方式,是用户的第一次在适当时间的点击还是通过调度的方式定时缓存了
4、,这点也要考虑下。写以上内容发现自己刚才对OSCache没有理解太清楚,OSCache缓存是使用标签的,在标签里的内容就会按时间缓存。因此实际操作下是很重要的。(一)第一份资料—JCSJava缓存系统(JavaCachingSystem,JCS)a)资料编号NO101JCS概述:JCS是一个用Java语言编写的缓存系统,可以使用它来创建Java桌面和Web应用程序。它提供了在缓存器中存储数据、从缓存器中删除数据等方便机制。使用JCS可以在各种指定的数据区域中存储缓存数据。JCS定义了4种类型的核心区域:内存区域、磁盘区域、外围区域和远程区域。可以结合使用这些核心区域以在如何存储缓存数据、将
5、缓存数据存储在什么地方等方面获得更大的灵活性。您可以指定首次使用哪个区域,以及发生故障时转移到哪个区域。内存区域:内存区域是一个使用最近最少算法(LeastRecentlyUsed,LRU)的纯内存缓存区域。当内存缓存区域满时,LRU会首先删除最近最少使用的缓存数据。这个数据区域执行良好,大多数JCS用户将它指定为最先使用的默认缓存区域。磁盘区域:磁盘区域是在Web服务器的文件磁盘上缓存数据。为了提高性能,JCS在文件磁盘上存储实际缓存数据的同时,会在内存中存储缓存数据键。在首先使用内存区域的典型JCS配置中,任何无法在内存区域中保存的数据都会写入磁盘区域中。外围区域:外围区域提供一种可配
6、置方式来在多台服务器之间分发缓存数据。缓存数据服务器必须有一个开放的用于侦听的端口,而且必须创建一个套接字连接。这个区域存在一个潜在问题,因为它不能保证各缓存之间的数据的一致性。但如果是按计划使用该区域,则不会出现这个问题。远程区域:远程区域提供了一个使用远程方法调用(RMI)API的缓存区域。这个区域使用一台远程服务器处理缓存数据。这台远程缓存服务器可以被多个JCS客户端应用程序用于存储缓存数据。一些侦听器被定义用于收集来自客户端和服务器的请求。这个缓存区域帮助减少串行化和多个连接点的开销。(JCS的可插入控制器:JCS通过组合缓存器(CompositeCache)让使用多个区域进行缓存
7、存储变得很简单。组合缓存器为缓存区域提供了一个可插入控制器。组合缓存器仔细处理复杂的任务,即确定何时以及如何使用每个缓存区域。JCS将完成大部分复杂的工作,开发人员只需关心获取和设置缓存。)夏俊备注:我看了下ibatis缓存机制,内存区域的缓存和磁盘缓存,ibatis也有实现。JCS配置:配置JCS就是简单地创建和填充一个cache.ccf文件。这个文件定义缓存应该使用哪些区域,以及这些区域的属性或选项。根据应用程序的需
此文档下载收益归作者所有