国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Hibernate緩存概述

開發 后端
本文簡單介紹Hibernate緩存。Hibernate緩存是介于物理數據源與應用程序之間,是數據庫數據在內存中的存放臨時copy的容器,其作用是為了減少應用程序對物理數據源訪問的次數,從而提高了應用的運行性能。

1、Hibernate緩存概述

緩存是介于物理數據源與應用程序之間,是數據庫數據在內存中的存放臨時copy的容器,其作用是為了減少應用程序對物理數據源訪問的次數,從而提高了應用的運行性能。

Hibernate在進行讀取數據的時候,根據緩存機制在相應的緩存中查詢,如果在緩存中找到了需要的數據(我們把這稱做“緩存命中"),則就直接把命中的數據作為結果加以利用,避免了建立數據庫查詢的性能損耗。

2:Hibernate緩存分類

一級緩存(session):內部緩存

事務范圍:緩存只能被當前事務訪問。緩存的生命周期依賴于事務的生命周期,當事務結束時,緩存也就結束生命周期。

二級緩存(sessionFactory):緩存被應用范圍內的所有事務共享。

這些事務有可能是并發訪問緩存,因此必須對緩存進行更新。

緩存的生命周期依賴于應用的生命周期,應用結束時,緩存也就結束了生命周期,二級緩存存在于應用范圍。

集群范圍:在集群環境中,緩存被一個機器或者多個機器的進程共享。

緩存中的數據被復制到集群環境中的每個進程節點,進程間通過遠程通信來保證緩存中的數據的一致性,緩存中的數據通常采用對象的松散數據形式,二級緩存也存在與應用范圍。

注意:對大多數應用來說,應該慎重地考慮是否需要使用集群范圍的緩存,再加上集群范圍還有數據同步的問題,所以應當慎用。

多種范圍的緩存處理過程

持久化層可以提供多種范圍的緩存。如果在事務范圍的緩存中沒有查到相應的數據,

還可以到應用范圍或集群范圍的緩存內查詢,如果還是沒有查到,那么只有到數據庫中查詢了。

緩存應用的范圍:

修改少,數量在可以接受的范圍內

使用二級緩存的原則:

數據不會被第三方修改

同一數據系統經常引用

數據大小在可接受范圍之內

關鍵數據或不會被并發更新的數據

hibernate引入第三方的緩存組件EHCACHE,下面是具體的實現步驟:

修改hibernate.cfg.xml配置引入ehCache緩存

  1. < hibernate-configuration> 
  2.  
  3. < session-factory> 
  4.  
  5. < property name="hibernate.cache.provider_class"> 
  6.  
  7. net.sf.ehcache.hibernate.EhCacheProvider  
  8.  
  9. < /property> 
  10.  
  11. < !--query也支持緩存--> 
  12.  
  13. < property name="hibernate.cache.use_query_cache">true< /property> 
  14.  
  15. < /session-factory> 
  16.  
  17. < /hibernate-configuration> 

在src根目錄下加入ehcache.xml文件,具體內容如下:

  1. < ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd"> 
  2.  
  3. < defaultCache 
  4.  
  5. maxElementsInMemory="10000" 
  6.  
  7. eternal="false" 
  8.  
  9. timeToIdleSeconds="120" 
  10.  
  11. timeToLiveSeconds="120" 
  12.  
  13. overflowToDisk="true" 
  14.  
  15. /> 
  16.  
  17. < /ehcache> 

在映射文件中指定緩存同步策略

  1. < class name="com.tenly.bean.Student"> 
  2.  
  3. < cache usage="read-write"> 
  4.  
  5. < set name="classroom"> 
  6.  
  7. < cache usage="read-only"> 
  8.  
  9. < /set> 
  10.  
  11. < /class> 

usage屬性說明:

read-only:只讀。對于不會發生改變的數據,可使用只讀型緩存。

nonstrict-read-write:不嚴格可讀寫緩存。如果應用程序對并發訪問下的數據同步要求不是很嚴格的話,

而且數據更新操作頻率較低。采用本項,可獲得良好的性能。

read-write

對于經常被讀但很少修改的數據,可以采用這種隔離類型,因為它可以防止臟讀這類的并發問題.

transactional(事物型)

在Hibernate中,事務型緩存必須運行在JTA事務環境中。

在測試query時,說明其將用二級緩存

query.setCacheable(true);

釋放Hibernate緩存:

一級緩存的釋放

Session.evict(XXX)

將某個特定的對象從內部緩存中清除,上述的XXX 為對象的實例名。使用此方法有兩種適用情形,

需要及時釋放對象占用的內存維持系統的穩定性

是不希望當前Session繼續運用此對象的狀態變化來同步更新數據庫。

Session.clear()清除所有的一級緩存

二級緩存的釋放

SessionFacatoyr.evict(XXX)

將某個特定的對象從內部緩存中清除,上述的XXX 為對象的實例名。使用此方法有兩種適用情形,

需要及時釋放對象占用的內存維持系統的穩定性

是不希望當前Session繼續運用此對象的狀態變化來同步更新數據庫。

SessionFactory.clear()清除所有的二級緩存

查詢緩存:

二級緩存策略的一般過程:

Hibernate進行條件查詢的時候,總是發出一條select * from XXX where …(XXX為 表名,

 類似的語句下文統稱Select SQL)這樣的SQL語句查詢數據庫,一次獲得所有的符合條件的數據對象。

把獲得的所有數據對象根據ID放入到第二級緩存中。

當Hibernate根據ID訪問數據對象的時候,首先從內部緩存中查找,如果在內部緩存中查不到就配置二級緩存,

從二級緩存中查;如果還查不到,再查詢數據庫,把結果按照ID放入到緩存。

 添加數據、刪除、更新操作時,同時更新二級緩存。這就是Hibernate做批處理的時候效率不高的原因,

 原來是要維護二級緩存消耗大量時間的緣故。

條件查詢的處理過程:

   ***次查找age>20的所有學生信息,然后納入二級緩存。

   第二次我們的查詢條件變了,查找age>15的所有學生信息,顯然***次查詢的結果完全滿足第二次查詢的條件,

   但并不是滿足條件的全部數據。這樣的話,我們就要再做一次查詢得到全部數據才行。

   如果我們執行的是相同的條件語句,Hibernate引入Query Cache的。

 查詢緩存策略的一般過程:

完全相同的Select SQL重復執行。

重復執行期間,Query Key對應的數據表不能有數據變動(比如添、刪、改操作)

啟用Query Cache,我們需要在hibernate.cfg.xml中進行配置,參考配置如下(只列出核心配置項):

  1. < hibernate-configuration> 
  2.  
  3. < session-factory> 
  4.  
  5. < property name="hibernate.cache.user_query_cache">true< /property> 
  6.  
  7. < /session-factory> 
  8.  
  9. < /hibernate-configuration> 

在查詢執行之前,將Query.Cacheable設置為true,而且每次都應該這樣。比如:

Query query=session.createQuery(hql).setInteger(0.15);

query.setCacheable(true);

【編輯推薦】

  1. Hibernate創建命名策略
  2. Hibernate的unsaved-value
  3. Hibernate中get和load方法的區別
  4. Hibernate Session的saveOrUpdate()方法
  5. Hibernate二級緩存攻略
責任編輯:book05 來源: 163博客
相關推薦

2009-09-23 17:03:08

Hibernate S

2009-09-29 16:04:29

Hibernate S

2009-09-22 15:10:22

Hibernate映射

2009-09-22 09:13:43

Hibernate D

2009-09-28 12:57:54

Hibernate C

2009-09-23 09:47:23

Hibernate e

2009-09-25 16:27:33

Hibernate S

2009-09-21 17:55:14

Hibernate O

2009-09-28 15:14:45

Hibernate S

2009-09-25 13:51:13

Hibernate S

2009-09-25 10:25:54

Hibernate緩存

2012-02-03 11:31:33

HibernateJava

2009-06-17 15:43:03

Hibernate緩存

2009-09-23 10:41:10

對象標識符Hibernate

2009-09-22 11:24:07

Hibernate查詢

2009-09-22 10:50:04

Hibernate c

2009-06-30 14:08:00

Hibernate緩存

2009-09-27 14:53:38

Hibernate S

2009-06-17 15:13:30

2009-06-18 14:51:12

Hibernate緩存Hibernate
點贊
收藏

51CTO技術棧公眾號

国产欧美日韩精品在线| 欧美极品xxxx| 成人精品视频一区二区| 亚洲一区亚洲| 91色精品视频在线| 岛国精品一区| 亚洲福利影片在线| 免费a级毛片在线播放| 亚洲精品国久久99热| 野外做受又硬又粗又大视频√| 亚洲欧美日韩高清在线| 欧美精品999| www一区二区三区| 一区二区三区无码高清视频| 特级毛片在线| 日韩欧美一区二区三区在线| 高清av电影在线观看| 亚洲大片精品永久免费| 久草在线国产| 日韩一区在线播放| 激情校园亚洲图片| 亚洲欧洲美洲综合色网| 爱情岛论坛亚洲首页入口章节| 国产精品自拍片| 国产精品嫩草99av在线| 91成人伦理在线电影| 理论片一区二区在线| 九九热这里只有在线精品视 | 99re在线视频免费观看| 成人性视频网站| av动漫在线播放| 粉嫩aⅴ一区二区三区四区 | 免费看日产一区二区三区| 亚洲人成电影在线观看天堂色| 国产精品69xx| 精品视频中文字幕| 波多野结衣亚洲一二三| 在线观看亚洲区| 亚洲精品午夜| 国产精品第1页| 亚州av乱码久久精品蜜桃| 成人免费91在线看| 久久国产精品亚洲77777| 一区二区精品在线观看| 国产成人亚洲综合色影视| 国产一区二区三区精彩视频 | 国产欧美精品在线| 欧美午夜一区| 日韩av电影免费在线| 国产一区二区三区四| 97超碰在线人人| 国产精品国产三级国产a| 免费h片在线观看| 欧美亚洲一区三区| av手机在线观看| www亚洲欧美| 大胆日韩av| 日韩一区二区三区资源| 91亚洲国产成人精品一区二区三 | 中文字幕一区免费| 欧美日韩国产综合久久| 美女100%一区| 日本免费久久高清视频| 激情综合亚洲| 国产男女免费视频| 一区二区在线观看免费视频播放| eeuss影院www在线播放| 亚洲美女久久久| 国产免费久久| 亚洲一区二区精品在线| 欧美国产1区2区| 国产永久av在线| 亚洲天堂影视av| 欧美理论电影大全| 中文字幕一区二区三区5566| 国产精品免费视频观看| 日本福利在线| 欧美激情videoshd| 亚洲一区不卡| 成人网18免费看| 精品国产乱码久久久久久久久| 日韩精选在线| 桥本有菜av在线| 欧美性xxxx极品hd欧美风情| 日韩三区免费| 国产精品国产亚洲精品看不卡15| 成人综合在线网站| 青梅竹马是消防员在线| 久久精品免费播放| 午夜一级久久| 波多野结衣在线| 久久久999国产| 久久精品亚洲| 日韩有码电影| 91精品国产高清自在线 | 台湾佬成人网| 亚洲最大福利网| 中文成人av在线| 多野结衣av一区| 91久久久久久久| 久久精品人人做| av第一福利在线导航| 国产男人精品视频| 国产人久久人人人人爽| 黑人精品视频| 国产精品免费观看高清| 亚洲欧美国产77777| 成人不卡视频| 亚洲国产精品久久久久婷婷老年| 欧美日韩国产综合视频在线观看中文| 综合激情网...| 日本中文字幕在线视频观看| 欧美群妇大交群中文字幕| 欧美肉体xxxx裸体137大胆| www.av片| 精品人伦一区二区三区蜜桃网站| 小说区图片区亚洲| 日韩中文字幕亚洲精品欧美| 精品国产一区二区三区av性色| 亚洲天堂激情| 三级黄视频在线观看| 青草青草久热精品视频在线观看| 久久亚洲春色中文字幕久久久| 在线天堂资源| 中文有码久久| 亚洲人成免费电影| 亚洲成人精品综合在线| 无码人妻精品一区二区蜜桃网站| 欧美日本一区二区三区| 99精品国产一区二区青青牛奶| 国产黄色av免费看| 欧美另类第一页| 成人一区二区视频| 国产不卡123| 亚洲小视频在线播放| 91精品在线麻豆| 欧美一区综合| 最近最新mv在线观看免费高清| 美女精品视频一区| 亚洲大片av| 成人免费在线电影| 国产精品自在线| 樱桃视频在线观看一区| 91国产精品| 男的插女的下面视频| 日韩一区二区三区国产| 国产美女av一区二区三区| 福利视频在线| 欧美高清性xxxxhdvideosex| 在线免费不卡视频| 一本色道久久综合亚洲精品酒店 | 成年人免费在线播放| 亚洲美女在线视频| 精品一区二区三区久久| 黄色成年人视频在线观看| 亚洲在线观看视频网站| 色婷婷激情久久| 亚洲老妇激情| 黄视频在线观看免费| 91视频国产一区| 欧美性生交xxxxx久久久| 欧美一二区在线观看| 最近中文字幕mv2018在线高清| 国产精品久久久久久久久久99| 亚洲蜜臀av乱码久久精品| 日韩精品视频一区二区三区| 国产主播在线看| 久久亚洲视频| 亚洲男人网站| 鬼打鬼之黄金道士1992林正英| 黄色91在线观看| 99精品美女| 99青草视频在线播放视| 精品国产一区二区三区四区vr| 亚洲精品久久久久国产| 国产成人啪免费观看软件| 日韩一级视频| 亚洲视频第二页| 国产精品一区久久久| 色综合欧美在线| 日韩成人免费看| 未满十八勿进黄网站一区不卡| 免费裸体美女网站| 国产成人精品av在线| 欧美性猛交xxxx免费看久久久| 日韩午夜高潮| 中日韩脚交footjobhd| 黄色www网站| 情事1991在线| 精品剧情v国产在线观看在线| 国产99久久久久| 精品国产一区二区三区不卡蜜臂| 中文字幕在线影视资源| 久久久国产精品一区二区三区| 中文字幕欧美精品在线| 亚洲欧美视频在线观看视频| 一区二区视频欧美| 国内欧美日韩| 色网在线视频| 91免费黄视频|