前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hibernate二级缓存

hibernate二级缓存

作者头像
week
发布2018-08-27 10:03:01
3880
发布2018-08-27 10:03:01
举报
文章被收录于专栏:用户画像用户画像

一级缓存的缺点

1、hibernate的session提供一级缓存,一个session代表一次会话过程,一个session关联一个数据库连接,所以session最好不要长时间保持打开,通常仅用于一个事务中,在事务结束时就应关闭。

2、Session是线程不安全的,被多个线程共享时容易出现问题。

3、session关闭的时候,一级缓存就失效了。

二级缓存的优点

让多个线程和多个事务都可以共享这个缓存,

二级缓存是独立于Hibernate的软件部件,属于第三方的产品,多个厂商和组织都提供有缓存产品,比如ehcache、oscache等。在hibernate中使用二级缓存,首先就要在hibernate.cfg.xml配置文件中配置使用哪个厂家的缓存产品,接着需要配置该缓存产品自己的配置文件,最后配置hibernate中的哪些实体对象要纳入到二级缓存。hibernate在执行任何一次查询的之后,都会把得到的结果放在缓存中,缓存结构可以看作是一个hashtable,key是数据库记录的id,value是id的pojo对象。当用户根据id查询对象的时候(load、Iterator方法)会首先在缓存中查找,如果没有找到再发起数据库查询。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年02月02日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档