Hibernate缓存

为什么使用:缓存是对数据源数据的复制,应用程序从缓存中读写数据,在特定时刻或者事件会触发缓存和数据源数据的同步。Hibernate是一个持久层框架,用于访问数据源。使用缓存可以降低应用程序对数据源的访问频次,从而提高程序的性能。

一级缓存:是SESSION级缓存,只能给一个线程使用。它的生命周期是和SESSION一样的,当SESSION关闭时,生命周期结束。只要通过SESSION接口来操作数据库就会使用一级缓存。

二级缓存:使用SESSIONFACTORY来管理,实现SESSION间数据的共享。二级缓存一般使用第三方的产品如EHCACHE。配置使用二级缓存需要开启Hibernate的二级缓存,指定二级缓存的提供商,指定哪些类用于二级缓存以及采用何种缓存策略。存放在二级缓存的数据一般是不经常修改的数据,如果经常修改就要去查数据那么缓存的意义就不大了。也不能是高并发的数据,因为二级缓存是线程间共享的有可能会造成并发问题。

查询缓存:一级缓存和二级缓存是指缓存实体对象。如果查询实体对象的普通属性,只能使用查询缓存。查询缓存的生命周期是当关联的表发生改变时生命周期结束。配置:在配置文件里开启查询缓存,然后代码里手动使用查询缓存。list支持查询缓存。iterate不支持。




参考:http://www.blogjava.net/tbwshc/articles/380013.html

            http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值