博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate-缓存
阅读量:7186 次
发布时间:2019-06-29

本文共 1695 字,大约阅读时间需要 5 分钟。

Hibernate的对象三种状态

1.瞬时状态 Transient

持久化对象没有id,而且没有和session关联

2.持久状态 persistent

持久化对象有id,而且跟session有关联

3.游离状态(托管状态) detached

持久化对象有id,但是跟session没有关联

Hibernate缓存

1.缓存概念

1.缓存就是一块内存区域。介于应用程序和物理数据源(例如:电脑磁盘)之间     2.提高程序的运行速率, 从而提高了用户的体验度。     3.缓存就是目标数据源的一个复本(复制)。应用程序直接访问缓存。一般会在特定时间刷新缓存。

 

2.Hibernate缓存

持久化层(dao层),对数据(操作的数据库中的数据)的备份

2.1 Hibernate一级缓存(Session级别)
Session级别的缓存:Hibernate内置的,不能卸除。如果session关闭了,缓存就清空了。​适用情况: 一次业务功能操作内有多次操作数据库。只访问一次,后续访问的是缓存数据。案例1:以查询为例:结论:     使用session多次查询。只要查询都会将查询的结果存储到缓存区域。那下次再查询直接从缓存中查找,找到就直接获取,没有找到再次发起sql去连接数据库查询案例: 快照快照也是一块内存区域。快照是session缓存中一部分。快照的目的是在提交事务的时候,会比较缓存和快照内容。

 

2.2Hibernate实现二级缓存的步骤:
1.添加二级缓存的包(下载的库/lib/optional/ehcache/xx.jar(3个)) 2.在主配置文件(hibernate.cfg.xml)配置开启二级缓存    
true
org.hibernate.cache.ehcache.EhCacheRegionFactory
3.配置缓存的配置文件 ehcache.xml(hibernate提供了,开发者只需要根据自己的需求更改缓存目录及内容即可) ehcache.xml该文件的位置:hibernate下载的库/project/etc/ehcache.xml 关键代码如下:
​4.在缓存的持久化类映射的地告诉程序缓存的策略 ready-only 默认的,常用的,缓存数据无需修改,只需要读取即可。 read-write 需要修改缓存数据,常用于对缓存进行读和写。数据库隔离级别不能为serializable(可串行化) notstrict-read-write 只是偶尔更新数据。(示例:两个事务同时更新一条数据,非常该策略。) transaction:ehcache不支持。 示例:以下配置映射文件中的class的里面
5.验证测试: 二级缓存和一级缓存的关系: 默认使用一级缓存,当一级缓存不存在的情况下,去读取二级缓存。 可以认为:二级缓存是一级缓存的补充。 重要的信息优先在一级缓存存储,不太重要的信息在二级缓存。 二级缓存通常用于什么情况? 不太重要的信息。 很少被修改的数据。 常量数据。 补充:一级缓存Session级别.如何清除一级缓存: 1.evict(Object o) 2.clear() 3.close() 二级缓存SessionFactory级别,如何清除二级缓存: 1.sessionFactory.close() 2.把缓存文件删除(不建议)

 

转载于:https://www.cnblogs.com/a77355699/p/7905919.html

你可能感兴趣的文章
Js中获取对象的所有key值
查看>>
Hnu 11187 Emoticons :-) (ac自己主动机+贪心)
查看>>
ora-01653: unable to extend table sys.aud$ by 8192 in tablespac system
查看>>
vue-----样式绑定 事件处理
查看>>
利用ANTLR4实现一个简单的四则运算计算器
查看>>
网络编程(7day-selector模块,队列)
查看>>
线段树一(单点修改)
查看>>
二分图匹配之匈牙利算法
查看>>
ZROI2018普转提day2t4
查看>>
MSDN 6.0 绿色集成版
查看>>
Ruby类
查看>>
linux磁盘清理
查看>>
Eclipse安装Maven插件报错解决办法
查看>>
Discuz!NT负载均衡方案
查看>>
Java中使用Lua脚本语言(转)
查看>>
2013长沙赛区现场赛 J - Josephina and RPG
查看>>
一种面向业务用户的大粒度服务组合方法(胡海涛,李 刚, 韩燕波2005.4)
查看>>
ABAP表控件查询
查看>>
hdu5072 Coprime (2014鞍山区域赛C题)(数论)
查看>>
[android] 内容提供者简介
查看>>