1.EhCache是什么
EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询,大幅减轻压力;
2.EhCache的使用注意点
当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻压力);
3.EhCache使用的场合
3.1比较少更新表数据
EhCache一般要使用在比较少执行write操作的表(包括update,insert,delete等)[Hibernate的二级缓存也都是这样];
3.2对并发要求不是很严的情况
两台机子中的缓存是不能实时同步的;
3.3就S2SH来讲,做缓存有两种方式:
1启用Hibernate的二级缓存。2使用页面缓存。
3.4使用缓存有一个原则:
越高层次的缓存效果越好。 推荐使用页面缓存。
4.EhCache概念了解(ehcache.xml解释)
<?xml version="1.0" encoding="UTF-8"?> <ehcache> <diskStore path="java.io.tmpdir" /> <defaultCache maxElementsInMemory="500" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="1200" overflowToDisk="true" /> <cache name="testcache1" maxElementsInMemory="150" eternal="false" timeToLiveSeconds="36000" timeToIdleSeconds="3600" overflowToDisk="true"/> </ehcache>
4.1 maxElementsInMemory
如maxElementsInMemory="10000" ,内存中存储的对象的个数, 内存管理的缓存元素数量最大限。
4.2 overflowToDisk
如overflowToDisk="true" 对象在内存中达到最大个数的时候,是否写入硬盘。
4.3 eternal
如eternal="false",表示cache中的对象是否过期,缺省为过期(按照配置中的时间),如果改为true,表示该对象永远不过期。ehcache使用即cache中的元素将一直保存在内存中,不会因为时间超时而丢失,所以在这个为true的时候,timeToIdleSeconds和timeToLiveSeconds两个属性的就不起作用了。ehcache使用
4.4 maxElementsOnDisk
如maxElementsOnDisk="10000000" 在硬盘上最大的对象个数, 硬盘管理的缓存元素数量最大限。默认为0,就是没有限制。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-25690-1.html
说不行贿