使用缓存构建更快的Web应用程序 - 编程入门网
使用缓存构建更快的Web应用程序时间:2011-07-08 IBM Kellen F. Bombardier简介:使用 Java™ 技术的 Web 开发人员可以使用缓存实用程序快速提 升他们的应用程序的性能。Java 缓存系统(Java Caching System,JCS)是一个 用于 Java 应用程序的强大分布式缓存系统,它是拥有简单 API 的高度可配置的 工具。本文将概述 JCS 并展示如何使用它来提高 Web 应用程序的速度。 许多 Web 应用程序会根据桌面应用程序重新编写;理想情况下,这些应用程 序的速度和可伸缩性应该与桌面版本一样。几乎所有 Web 应用程序都可以从速度 方面的增长获益。缓存被频繁查看但很少更改的数据是一种减少用户等待时间的 有效方式。一个实用程序可以帮您实现这个目标,它使用简单易用的 API 来轻松 处理数据缓存。开放源码 JCS(即一个 Apache Jakarta 项目)就是这样一种工 具。本文将说明如何配置和使用 JCS 来缓存 Web 应用程序的数据。 JCS 概述 JCS 是一个用 Java 语言编写的缓存系统,可以使用它来创建 Java 桌面和 Web 应用程序。它提供了在缓存器中存储数据、从缓存器中删除数据等方 便机制。 使用 JCS 可以在各种指定的数据区域 中存储缓存数据。JCS 定 义了 4 种类型的核心区域:内存区域、磁盘区域、外围区域和远程区域。可以结 合使用这些核心区域以在如何存储缓存数据、将缓存数据存储在什么地方等方面 获得更大的灵活性。您可以指定首次使用哪个区域,以及发生故障时转移到哪个 区域。 内存区域 内存区域是一个使用最近最少算法(Least Recently Used,LRU)的纯内存缓存区域。当内存缓存区域满时,LRU 会首先删 除最近最少使用的缓存数据。这个数据区域执行良好,大多数 JCS 用户将它指定 为最先使用的默认缓存区域。 磁盘区域 磁盘区域是在 Web 服务器 的文件磁盘上缓存数据。为了提高性能,JCS 在文件磁盘上存储实际缓存数据的 同时,会在内存中存储缓存数据键。在首先使用内存区域的典型 JCS 配置中,任 何无法在内存区域中保存的数据都会写入磁盘区域中。 外围区域 外围区域提供一种可配置方式来在多台服务器之间分发缓存数据。缓存数据服 务器必须有一个开放的用于侦听的端口,而且必须创建一个套接字连接。这个区 域存在一个潜在问题,因为它不能保证各缓存之间的数据的一致性。但如果是按 计划使用该区域,则不会出现这个问题。 远程区域 远程区域提供了一个使用远程方法调用(RMI)API 的缓存区域。这个区域使 用一台远程服务器处理缓存数据。这台远程缓存服务器可以被多个 JCS 客户端应 用程序用于存储缓存数据。一些侦听器被定义用于收集来自客户端和服务器的请 求。这个缓存区域帮助减少串行化和多个连接点的开销。 使用缓存构建更快的Web应用程序(2)时间:2011-07-08 IBM Kellen F. BombardierJCS 配置 配置 JCS 就是简单地创建和填充一个 cache.ccf 文件。这个文件定义缓存应 该使用哪些区域,以及这些区域的属性或选项。根据应用程序的需求配置这个文 件是一种快速扩展缓存的简便方式。您可以指定许多适合配置的选项和属性来满 足需求。 清单 1 显示的是最基本的 cache.ccf 文件 — 一个纯内存缓存配置: 清单 1. JCS 的基本配置 jcs.default=jcs.default.cacheattributes=org.apache.jcs.engine.Compos iteCacheAttributes jcs.default.cacheattributes.MaxObjects=1000 jcs.default.cacheattributes.MemoryCacheName= org.apache.jcs.engine.memory.lru.LRUMemoryCache 从清单 1 中可以看出,该配置文件将内存缓存指定为一个 LRUMemoryCache。 还可以看到,内存中能保存的对象的最大数量被设置为 1000。 大多数应用程序的缓存系统配置要比清单 1 中复杂得多。在清单 2 的配置中 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |