Java缓存组件EhCache
2014-08-15 16:57
399 查看
系统缓存是位于 应用程序与物理数据源之前,用于临时存放复制数据的内存区域,目的是减少应用程序对物理数据源的访问次数,从而提高应用程序的运行性能。
缓存可占用的内存是有限的,因此缓存的时效性也是有限的,所以需要设定内存数量的大小可执行失效算法,在内存满了的情况下,将缓存移除或者切换到硬盘。
Java的开源Cache组件有OSCache、EhCache、JbossCache。
OSCache功能强大,使用灵活,Filter缓存以及JSP之间使用cache标签。并发量较高时。出现线程阻塞和数据错误。
JBossCache优点是支持基于对象属性的集群同步,不过JBossCache的配置使用较复杂,在并发量较高情况下,对象属性数据在集群中同步也会加大系统开销
Ehcache 支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式Cache,可以作为Hibernate缓存插件,同时它提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度。
EhCache用法:
CacheManger manager = CacheManger.create(); //使用默认配置文件创建CacheManger
Cache cache = manger。getCache("demoCache"); //使用manager可以生成指定名称的Cache对象
manager.removeCache(“demoCache”); //通过调用removeAll()可以移除所有Cache,manager.shutdown()可以关闭CacheManger 。
Element element = new Element("key",value);
cache.put(element);
//往cache中添加元素
element.getValue();
//从cache中取得元素
cache.remove(“key”);
//从cache删除元素
配置文件 ehcache.xml
缓存可占用的内存是有限的,因此缓存的时效性也是有限的,所以需要设定内存数量的大小可执行失效算法,在内存满了的情况下,将缓存移除或者切换到硬盘。
Java的开源Cache组件有OSCache、EhCache、JbossCache。
OSCache功能强大,使用灵活,Filter缓存以及JSP之间使用cache标签。并发量较高时。出现线程阻塞和数据错误。
JBossCache优点是支持基于对象属性的集群同步,不过JBossCache的配置使用较复杂,在并发量较高情况下,对象属性数据在集群中同步也会加大系统开销
Ehcache 支持内存和磁盘的缓存,支持LRU、LFU和FIFO多种淘汰算法,支持分布式Cache,可以作为Hibernate缓存插件,同时它提供基于Filter的Cache,该Filter可以缓存响应的内容并采用Gzip压缩提高响应速度。
EhCache用法:
CacheManger manager = CacheManger.create(); //使用默认配置文件创建CacheManger
Cache cache = manger。getCache("demoCache"); //使用manager可以生成指定名称的Cache对象
manager.removeCache(“demoCache”); //通过调用removeAll()可以移除所有Cache,manager.shutdown()可以关闭CacheManger 。
Element element = new Element("key",value);
cache.put(element);
//往cache中添加元素
element.getValue();
//从cache中取得元素
cache.remove(“key”);
//从cache删除元素
配置文件 ehcache.xml
<?xml version="1.0" encoding="UTF-8"?> <ehcache name = "demoCache"> <diskStore path="java.io.tmpdir"/> <defaultCache maxElementsInMemory="10000" <!-- 缓存最大数目 --> eternal="false" <!-- 缓存是否持久 --> overflowToDisk="true" <!-- 是否保存到磁盘,当系统当机时--> timeToIdleSeconds="300" <!-- 当缓存闲置n秒后销毁 --> timeToLiveSeconds="180" <!-- 当缓存存活n秒后销毁--> memoryStoreEvictionPolicy="LFU" <!-- 缓存满了之后的淘汰算法,LFU直接淘汰使用比较少的对象 --> diskPersistent="false" diskExpiryThreadIntervalSeconds= "120"/> </ehcache>
相关文章推荐
- Java缓存组件 EhCache 入门教程
- Java缓存组件 EhCache 入门教程
- Java缓存组件 EhCache 入门教程
- ehcache缓存内存和硬盘问题-初学者(java)
- ehcache-----java缓存框架
- java ehcache 缓存配置
- Ehcache 2.6.2 发布,Java 缓存框架
- multicache4j - 为Java集成各种cache组件和ehcache
- Java 缓存技术之 ehcache
- JAVA缓存技术之EhCache
- 传统mvc开发中在Servlet或普通java类中使用ehcache缓存
- java中的本地缓存【自己构造单例、guava、ehcache:问题:为什么构造缓存、如何构造缓存、如何保证集群内部缓存的一致性】*****很重要
- hibernate二级缓存攻略 Ehcache(from javaEyes)
- Java缓存Ehcache-核心类和方法介绍及代码实例
- Java缓存Ehcache-Ehcache的Cache预热机制及代码实现(Cache Warming for multi-tier Caches)
- Java的进程内缓存框架:EhCache
- Java缓存框架 EhCache
- Java缓存框架 EhCache
- 【EhCache】Java缓存框架使用EhCache结合Spring AOP
- 纯Java的进程内缓存框架-EhCache