今天在使用hibernate的时候要配置二级缓存,给大家分享一下二级缓存的配置方法
*********实现OSCache二级缓存的配置方案***********
1.首先我们需要在hibernate.cfg.xml中配置几个属性:
为了能够查看二级缓存的使用效果,还可以配置:
2.然后是哪些类需要配置二级缓存:(举例User实体类)
其中usage是策略,属性值:
read-only:只读,效率最高。
read-write:读写,效率较低。但是能保证并发正确性。
nonstrict-read-write:非严格的读写,效率较高,不用加锁,不能保证并发正确性。例如帖子浏览量。
transactional:事务性缓存,可回滚缓存数据,一般缓存框架不带有此功能,实现很复杂。
这样hibernate.cfg.xml就配置完了。
3.配置映射文件User.hbm.xml,加入这句代码:
4.加入oscache.properties配置文件到classPath下,这个文件在hibernate源码包中有。里面
有很多属性可以设置,如果只是简单实现,不需要修改。不修改的情况下,只有一个配置,是
配置二级缓存的大小,这个视本机内存而定。默认1000。
其中还有一个分布式的配置,可以设置主机IP等等。由于资源有限,我没有做实验。在此不做过多介绍。
OK,配置完成!
----------------------------------------------------------------------------------------------------------
写一个测试类,测试吧。
补充一个测试方法:
通过输出st的信息,可以查看缓存的使用情况。
再补充一个清除二级缓存的方法: