【hibernate框架】缓存机制之查询缓存
来源:互联网 发布:查看数据库有哪些用户 编辑:程序博客网 时间:2024/05/16 05:37
查询缓存是面对重复缓存的,是依赖于二级缓存的,所以一定要打开二级缓存。
1.load默认使用二级缓存,iterate默认使用二级缓存
2.list默认往二级缓存中加数据,但是查询的时候不使用
3.如果要query用二级缓存,需打开查询缓存
i.<property name="cache.use_query_cache">ture</property>
ii.调用Query的setCacheable(true)方法指明使用二级缓存。
证明查询缓存已经起作用了:
发现只输出了一条查询语句,说明加第二次载了缓存:
Hibernate:
select
category0_.id as id0_0_,
category0_.name as name0_0_
from
Category category0_
where
category0_.id=?
c0
1.load默认使用二级缓存,iterate默认使用二级缓存
2.list默认往二级缓存中加数据,但是查询的时候不使用
3.如果要query用二级缓存,需打开查询缓存
i.<property name="cache.use_query_cache">ture</property>
ii.调用Query的setCacheable(true)方法指明使用二级缓存。
证明查询缓存已经起作用了:
@Testpublic void testListAndIterate2(){Session session = sf.openSession();session.beginTransaction();Query q=session.createQuery("from Topic").setCacheable(true);List<Topic> topics=(List<Topic>)q.list();for(Topic t:topics){System.out.println(t.getId()+"-"+t.getTitle());}List<Topic> topics2=(List<Topic>)q.list();for(Topic t:topics2){System.out.println(t.getId()+"-"+t.getTitle());}session.getTransaction().commit();session.close();}
发现只输出了一条查询语句,说明加第二次载了缓存:
Hibernate:
select
category0_.id as id0_0_,
category0_.name as name0_0_
from
Category category0_
where
category0_.id=?
c0
c0
PS:说一下主流的缓存算法
缓存算法就是指定内存里面哪个对象在适当的时候该拿走
a.LRU、LFU、FIFO
1.Least Recently Used
翻译是"最近很少使用",也就是最近很少使用的会被清除,每个在缓存中的对象都有存在的时间标志,哪一个时间长,就会被拿走。
2.Least Frequently Used(命中率高低)
最近不常被使用,最少被使用。缓存中有两个对象,一个被命中1回,一个被命中100回,那么新来一个对象的时候,就会清除那个命中1回的那个。
3.First In First Out
就是一个队列,后面进一个,前面走一个。
在ehcache的配置文件中可以配置这个属性来设置缓存算法:
b.memoryStoreEvictionPolicy="LRU"(ehcache)
转载请注明出处:http://blog.csdn.net/acmman/article/details/44132287
0 0
- 【hibernate框架】缓存机制之查询缓存
- 【hibernate框架】缓存机制之一级缓存
- hibernate回顾之缓存机制-一级缓存、二级缓存、查询缓存
- hibernate回顾之缓存机制-一级缓存、二级缓存、查询缓存
- 【hibernate框架】缓存机制之二级缓存
- 框架学习之hibernate-03查询、缓存
- hibernate缓存之【查询缓存】
- Hibernate之缓存机制
- Hibernate 缓存机制续 - 查询缓存
- hibernate缓存机制(四)-查询缓存
- Hibernate框架之缓存
- hibernate的查询缓存机制
- [框架]Hibernate的缓存机制
- Hibernate缓存机制 2之数据缓存
- Hibernate之缓存机制(一级缓存)
- 【转】Hibernate之缓存机制(一级缓存)
- Hibernate缓存机制之一级缓存
- Hibernate缓存机制之快照
- 灰度图像--图像分割 阈值处理之OTSU阈值
- [开发笔记]Visual Assist X破解过程
- uva 10718 Bit Mask (位运算)
- VMware和oracle vm virtualBox哪个更好
- 初学Ubuntu10.10使用问题解决办法
- 【hibernate框架】缓存机制之查询缓存
- 1193 矩阵转置
- Tween 动画类
- 数学之路-sas备忘(10)
- wlw 配置
- hdu 5183 hash+前缀和
- 【很早以前的作品】3DDemo走迷宫
- Android基础笔记——HttpClient访问网络
- 查找表实现的CRC16