欢迎来到天天文库
浏览记录
ID:40557339
大小:43.50 KB
页数:8页
时间:2019-08-04
《java缓存详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Ehcache中不仅可以用配置文件来配置缓存,而在代码中也可以实现同样的功能。CacheManagersingletonManager=CacheManager.create();CachememoryOnlyCache=newCache(“testCache”,50000,false,false,8,2);Cachetest=singletonManager.getCache(“testCache”);删除只需要调用singletonManager.removeCache(“testCache”
2、);ShotdownCacheManager在使用完Ehcache后,必须要shutdown缓存。Ehcache中有自己的关闭机制,不过最好在你的代码中显示调用CacheManager.getInstance().shutdown();1.EhCache是什么 EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力;2.EhCache的使用注意点 当用Hibernate的方式修改表数据(save,
3、update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的表来说,可能就失去缓存的意义了(不能减轻数据库压力);3.EhCache使用的场合 3.1比较少更新表数据 EhCache一般要使用在比较少执行write操作的表(包括update,insert,delete等)[Hibernate的二级缓存也都是这样]; 3.2对并发要求不是很严格的情况 两台机子中的缓存是不能实时同步的;4.在项目
4、做的实现 4.1在工程的src目录下添加ehcache.xml文件,内容如下: eternal="false"
5、 overflowToDisk="true" timeToIdleSeconds="15" timeToLiveSeconds="120" /> 4.2在Hibernate.cfg.xml中的mapping标签上面加以下内容: 6、tyname="show_sql">true org.hibernate.cache.EhCacheProvider true 4.3在要缓存的bean的hbm.xml文件中的class标签下加入以下内容: 7、cheusage="read-only"/> 4.4创建DAO,内容如下: Sessions=HibernateSessionFactory.getSession(); Criteriac=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第一次读取"); Listl=c.list(); Sys8、tem.out.println(l.size()); HibernateSessionFactory.closeSession(); s=HibernateSessionFactory.getSession(); c=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第二次读取"); l=c.list()
6、tyname="show_sql">true org.hibernate.cache.EhCacheProvider true 4.3在要缓存的bean的hbm.xml文件中的class标签下加入以下内容: 7、cheusage="read-only"/> 4.4创建DAO,内容如下: Sessions=HibernateSessionFactory.getSession(); Criteriac=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第一次读取"); Listl=c.list(); Sys8、tem.out.println(l.size()); HibernateSessionFactory.closeSession(); s=HibernateSessionFactory.getSession(); c=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第二次读取"); l=c.list()
7、cheusage="read-only"/> 4.4创建DAO,内容如下: Sessions=HibernateSessionFactory.getSession(); Criteriac=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第一次读取"); Listl=c.list(); Sys
8、tem.out.println(l.size()); HibernateSessionFactory.closeSession(); s=HibernateSessionFactory.getSession(); c=s.createCriteria(Xyz.class); c.setCacheable(true);//这句必须要有 System.out.println("第二次读取"); l=c.list()
此文档下载收益归作者所有