新聞中心
【獨家編譯】在前文中我們把JPA 2.0緩存原理進行了簡單的介紹,本文將為大家介紹一下Hibernate緩存原理。(編輯特別推薦專題:Hibernate應(yīng)用開發(fā)教程)

在江口等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),外貿(mào)營銷網(wǎng)站建設(shè),江口網(wǎng)站建設(shè)費用合理。
Hibernate緩存原理
Hibernate也設(shè)有兩個級別的緩存:第一級和第二級緩存。第一級緩存是存儲在一個特定時域?qū)嵗锏牟樵兘Y(jié)果,而第二級緩存則是與SessionFactory實例相關(guān)聯(lián)。
Hibernate的默認使用的第一級緩存來存儲每一此運算的對象。 Hibernate的二級緩存是由SessionFactory支持,根據(jù)訪問對象的應(yīng)用水平來調(diào)用訪問數(shù)據(jù)庫需要的對象次數(shù),從而減少了訪問次數(shù)。Hibernate的緩存不是通過儲存存儲對象本身的實例來實現(xiàn)的。
Hibernate 3.0支持以下四個開源項目的第二級緩存實現(xiàn):
◆EHCache (org.hibernate.cache.EhCacheProvider) -- Default
◆OSCache (org.hibernate.cache.OSCacheProvider)
◆SwarmCache (org.hibernate.cache.SwarmCacheProvider)
◆JBoss TreeCache (org.hibernate.cache.TreeCacheProvider)
第二級緩存可以啟用分別設(shè)置屬性hibernate.cache.use_second_level_cache為正確或錯誤。這里是一個設(shè)置實例:
- true
你可以選擇在hibernate.cfg.xml文件里的hibernate.cache.provider_class屬性應(yīng)用進行設(shè)置,這里是另一個設(shè)置實例:
- org.hibernate.cache.EhCacheProvider
您也可以在類級層或集合層通過設(shè)置在映射文件作為
這里有一個在上面的代碼中的組成部分:
◆指定緩存策略的使用情況。
◆指定二級緩存區(qū)域。
◆包括是一個可選屬性(一般情況下為默認設(shè)置),如果數(shù)據(jù)不常使用可以取消緩存。
您還可以通過設(shè)置hibernate.cfg.xml文件中的
您可以執(zhí)行的緩存是同一組的參數(shù)經(jīng)常使用的查詢緩存。查詢緩存設(shè)置為false默認情況下,您可以啟用hibernate.cfg.xml文件中加入下面的屬性:
true
此查詢添加StandardQueryCache和UpdateTimestampsCache,分別為查詢緩存的結(jié)果和最新更新的時間表。查詢結(jié)果可以通過調(diào)用緩存特定的setCacheable查詢。
Hibernate 3.5緩存
Hibernate 3.5緩存策略與Hibernate的緩存策略是相同的,同時添加了在Hibernate 3.2和Hashtable沒有的某些如JBoss Cache 2、JBoss Cache的1.x中緩存策略。
Hibernate 3.5另一個重大進步是Infinispan作為另一個二級緩存標(biāo)準(zhǔn)加入。Infinispan是一個開源、可擴展的數(shù)據(jù)網(wǎng)格平臺,公開了JCache(支持JSR-107)兼容的緩存接口。 Infinispan提供了更高程度的并發(fā)性,因為Infinispan使用一個專門的數(shù)據(jù)結(jié)構(gòu),而不是僅僅捆綁到Java,同時它也支持PHP,Python和Ruby等。
結(jié)論
在本文中,我們比較的JPA 2.0緩存在Hibernate的緩存。通過引入新的緩存功能,促進標(biāo)準(zhǔn)化,JPA的2.0做了很多工作使得開發(fā)更容易。不過,因為所有的功能都有了很長時間的支持,Hibernate是在許多方面遙遙領(lǐng)先。
標(biāo)題名稱:JPA2.0VsHibernate:緩存方法的差異(二)
網(wǎng)站網(wǎng)址:http://www.5511xx.com/article/dhhghhj.html


咨詢
建站咨詢
