我在我的項目中使用Hibernate 4,JSF和Spring。如何使用Hibernate緩存表數據並加快查詢速度?
我有像這樣的表格:ValidStatus
,Valid Group
,ValidAccess
,其中我已經填充了一些默認數據。
我必須把所有這些表中的數據在緩存,這樣,隨時在不同的頁面,我可以用這些表授權用戶。
我們如何緩存這些表格數據?我是否必須在這種情況下使用二級緩存或其他方法才能工作?
我在我的項目中使用Hibernate 4,JSF和Spring。如何使用Hibernate緩存表數據並加快查詢速度?
我有像這樣的表格:ValidStatus
,Valid Group
,ValidAccess
,其中我已經填充了一些默認數據。
我必須把所有這些表中的數據在緩存,這樣,隨時在不同的頁面,我可以用這些表授權用戶。
我們如何緩存這些表格數據?我是否必須在這種情況下使用二級緩存或其他方法才能工作?
休眠具有默認的cahching功能。
Hibernate的一級緩存是會話級緩存,所以如果對象是目前在Hibernate會話結果會從中獲取。
因此,yoou不需要緩存讀取的結果,它已經由Hibernate緩存。
也
看到的第一級緩存是僅適用於只要運行Session
(a.k.a EntityManager
)是開放的電流。
兩個併發事務將在不同Session
(S)運行,因此,每個人都會有自己的1級高速緩存,這是不是你的目標是什麼。
你想要2nd Level Cache,這是併發Session
(S)之間共享:
感謝任何GUD示例如何與JSf + Spring應用程序集成? – JavaBeigner
但我想唯一有效的表中的數據在緩存不緩存 – JavaBeigner
每一個表或查詢的數據存儲,那麼你應該使用像緩存框架[內存緩存(http://memcached.org/) – erencan