Hibernate 性能优化
来源:互联网 发布:剑灵灵剑捏脸数据导入 编辑:程序博客网 时间:2024/06/06 00:02
Session: 一级缓存
sessionFactory: 二级缓存
查询缓存: 三级缓存
一级缓存缓存实体对象
Iterator 和 list的区别
Iterator刚开始取主键,任何时候用到才取出来,所以Iterator利用缓存,不会发出查询实体的sql(from)
List不会利用缓存,每次用到都会发出sql
Session消亡的时候,缓存消亡
查询缓存Query.setCacheable(true).list()
EhCache 配置文件hibernate-distribution-3.3.2.GA\project\etc\ehcache.xml
<defaultCache
maxElementsInMemory="10000" //最多多少个对象
eternal="false" //内存对象的永久性
timeToIdleSeconds="120" //期限(对象不活动的期限)
timeToLiveSeconds="120" //生存期
overflowToDisk="true" /> // 缓存满时,放到硬盘<diskStorepath="java.io.tmpdir"/>
EhCache.jar
hibernate-distribution-3.3.2.GA\lib\optional\ehcache
XML:<property name=” hibernate.cache.use_second_level_cache”>true </property>
<property name=” hibernate.cache.provider_class”> org.hibernate.cache.EhCacheProvider </property>
Annotation: 在class设置@Cache(usage= CacheConcurrencyStrategy.READ_WRITE )
缓存算法
l 最佳(optimal)置换算法: 选择那些永不使用的,或者是在最长时间内不再被访问的页面置换出去.即要确定哪一个页面是未来最长时间内不再被访问
l 先进先出(FIFO): 利用队列,先进先出
l 最近最久未使用置换算法LRU (Least Recently Used): 系统在每个页面设置一个访问字段,用以记录这个页面自上次被访问以来所经历的时间T,重复访问时重新设为0,选择T最大的页面淘汰。利用栈实现,栈底的T最大.
l 最近未用置换NUR(Not UsedRecently): 为每个页面置一个访问位,将内存中的所有页面都通过链接指针链成一个循环队列。当某页被访问的时,若为‘1’,暂不换出此页,置为‘0’。如果是‘0’则淘汰。
- hibernate查询性能优化
- Hibernate 性能优化技巧
- hibernate之性能优化
- Hibernate性能优化
- Hibernate性能优化
- Hibernate性能优化
- Hibernate性能优化问题
- hibernate性能优化
- Hibernate 性能优化技巧
- Hibernate性能优化
- Hibernate性能优化
- Hibernate性能优化
- Hibernate性能优化
- Hibernate性能优化策略
- hibernate性能优化
- Hibernate性能优化
- hibernate性能优化
- Hibernate性能优化1
- 如何更加省时省力的使用XMind
- error C2054:在“inline”之后应输入“(
- 欢迎使用CSDN-markdown编辑器
- 黑马程序员——Java反射
- org.hibernate.AssertionFailure: null id don't flus
- Hibernate 性能优化
- C语言 链表基本函数
- Windows XP和Ubuntu14.04双系统的安装
- asp.net 读写配置文件Web.Config
- linux 静态链接库demo
- [前端] js实现正顺排列
- file_get_contents无法请求https连接的解决方法
- ubuntu内核模块加载不能看的printk输出的问题
- Linux Shell的 & 、&& 、 ||