Hibernate學習筆記 快取

2022-08-16 00:36:13 字數 1519 閱讀 9036

一級快取和二級快取和查詢快取(面試題)

a)    什麼是快取

b)    什麼是一級快取,session級別的快取

c)    什麼是二級快取,sessionfactory級別的快取,可以跨越session存在

i.   經常被訪間

ii.   改動不大不會經常改動

iii.   數重有限

d)    開啟二級快取

i.   hibernate.cfg.xml 設定:

<

property

name

= "cache.use_second_level_cache"

>true

property

>

<

property

name

="cache.provider_class"

>org.hibernate.cache.ehcacheprovider

property

>

ii.   @cache註解(由hibernate擴充套件提供)

@cache(usage=cacheconcurrencystrategy.read_write)

@entity

//@batchsize(size=5)

@cache(usage =cacheconcurrencystrategy.read_write)

public

class

category

注:使用ehcache二級快取 需要匯入ehcache-1.2.3.jar及commons-logging-1.0.4.jar包

e)    load預設使用二級快取,iterate預設使用二級快取

f)    list預設往二級快取加資料,但是查詢的時候不使用

g)    如果要query用二級快取,需開啟查詢快取

<

property

name

="cache.use_query_cache"

>true

property

>

呼叫query的setcachable (true)方法指明使用二級快取

例如:session.createquery("from category").setcacheable(true).list();

@test

public

void

testquerycache()

h)    快取演算法:(純為了面試)

i.   lru  lfu  fifo

least recently used –最近很少被使用

least frequently used (命中率高低)

first in first out 按順序替換

ii.   memorystoreevictionpolicy = "lru" (ehcache.xml中配置)

Hibernate 快取 學習筆記

一.什麼是快取 快取是位於應用程式與物理資料來源之間,用於臨時存放複製資料的記憶體區域,目的是為了減少應用程式對物理資料來源訪問的次數,從而提高應用程式的執行效能.hibernate在查詢資料時,首先到快取中去查詢,如果找到就直接使用,找不到的時候就會從物理資料來源中檢索,所以,把頻繁使用的資料載入...

hibernate快取學習

hibernate的核心api就是hibernatesession,這個session是從factorysession獲取的,他控制著hibernate的所有 持久化的操作 hibernate的快取是分為兩級的,以及快取是乙個事務快取,是必須使用的,測試用例就是在乙個事務查詢兩次 同乙個語句,只會列...

hibernate學習 快取機制

在之前的hibernate學習中,我們無論是curd,對單錶查詢還是檢索優化,我們好像都離不開session,session我們之間也簡單的說過,它是乙個快取,這一篇文章就就hibernate的快取進行一些介紹,我們將從以下幾點進行 一丶快取的分類 hibernate中快取分為一級快取和二級快取,像...