Java中用Cache
来源:互联网 发布:压缩包打开软件 编辑:程序博客网 时间:2024/05/29 18:03
系统缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能。缓存设想内存是有限的,缓存的时效性也是有限的,所以可以设定内存数量的大小可以执行失效算法,可以在内存满了的情况下,按照最少访问等算法将缓存直接移除或切换到硬盘上。
在java开发中共享数据源,可以自己写简单Cache实现也可以用现有的产品如EHcache、JBossCache、JCS(Java Cache System)等。
Cache的特征有:过期时间、容量规划、清除策略、命中率统计等,自己实现Cache的思路是:创建一个静态Map,并设置过期、容量设置、清除等方法,即可使用。
这里着重讲一下EHcache,EHcache作为优秀的cache产品,不仅仅作为分布式的cache,甚至作为状态同步,也可以实现多机copy。EHcache从hibernate发展而来,支持内存缓存、硬盘缓存和分布式缓存。EHcache从CacheManager入口,首先通过构造函数或CacheManager.getInstance()获得一个实例, 该实例用来管理众多cache;然后通过Cache构造器获得Cache实例,每个Cache类似一个HashMap,关联多个Element;Element就是我们存放缓存的地方。
一、环境配置
下载EHcache包(http://d2zwv9pap9ylyd.cloudfront.net/ehcache-2.7.3-distribution.tar.gz),并将其中的jar包放到WEB-INF/lib下。
将ehcache.xml拷贝一份到class目录下备用
二、在web.xml中增加filter,配置ehcache;如想把首页缓存起来
<filter> <filter-name>indexCacheFilterfilter-name> <filter-class> net.sf.ehcache.constructs.web.filter.SimplePageCachingFilter <filter-class><filter><filter-mapping> <filter-name>indexCacheFilterfilter-name> <url-pattern>*index.action<url-pattern><filter-mapping>
修改ehcache.xml配置文件
<cache name="sampleCache1" maxEntriesLocalHeap="10000"//内存中可放入的最大元素数,如果超过此数值,将元素溢出到硬盘中(目录由系统来定) maxEntriesLocalDisk="1000" //硬盘中可放入的最大元素数 eternal="false" //该cache是否是永恒存在的,如果是,则下面的空闲时间、生存时间则无效 diskSpoolBufferSizeMB="20" // timeToIdleSeconds="300" //其中元素的空闲时间,过了空闲时间而没有被访问则销毁 timeToLiveSeconds="600" //其中元素的生存时间,过了生存时间自动销毁 memoryStoreEvictionPolicy="LFU"// transactionalMode="off" //
> <persistence strategy="localTempSwap"/> // </cache>
- Java中用Cache
- Java cache
- JAVA CACHE
- java中用opencv
- java中用到json
- Java中用中文命名
- Java Cache系列之Guava Cache
- Java Cache系列之Guava Cache
- Java Cache系列之Guava Cache
- JAVA Opensource Cache Insight
- 用java实现cache
- 用java实现cache
- Java实现Cache功能
- LRU cache实现 (Java)
- [Leetcode] LRU Cache (Java)
- [leetCode] LRU Cache (Java)
- Java CPU Cache
- LRU Cache Java
- eclispe adb问题
- vim 配置
- ubuntu 11.04 源 更新不了
- 李克强:改革不可逆转 中国经济还有奇迹
- python 类
- Java中用Cache
- STL容器总结
- 在2013年营销是什么?
- Android实现 ScrollView + ListView无滚动条滚动
- 利用DataGridView类编写的学生信息登记系统
- 多播、组播
- 送一首诗给心急的、望子成龙的父母们——《牵一只蜗牛去散步》
- 20130911,微软9月11日发布13个安全补丁
- many-to-one单向关联映射