2014-05-15 77 views
1

我在我的項目中使用Hibernate 4,JSF和Spring。如何使用Hibernate緩存表數據並加快查詢速度?

我有像這樣的表格:ValidStatus,Valid Group,ValidAccess,其中我已經填充了一些默認數據。

我必須把所有這些表中的數據在緩存,這樣,隨時在不同的頁面,我可以用這些表授權用戶。

我們如何緩存這些表格數據?我是否必須在這種情況下使用二級緩存或其他方法才能工作?

回答

0

休眠具有默認的cahching功能。

Hibernate的一級緩存是會話級緩存,所以如果對象是目前在Hibernate會話結果會從中獲取。

因此,yoou不需要緩存讀取的結果,它已經由Hibernate緩存。

https://stackoverflow.com/a/20369520/892994

Hibernate Caching

+0

但我想唯一有效的表中的數據在緩存不緩存 – JavaBeigner

+0

每一個表或查詢的數據存儲,那麼你應該使用像緩存框架[內存緩存(http://memcached.org/) – erencan

2

看到的第一級緩存是僅適用於只要運行Session(a.k.a EntityManager)是開放的電流。

兩個併發事務將在不同Session(S)運行,因此,每個人都會有自己的1級高速緩存,這是不是你的目標是什麼。

你想要2nd Level Cache,這是併發Session(S)之間共享:

  • EhCache是一個非常著名的二級緩存實現,
  • Infinispan這是由Red Hat開發的。
+0

感謝任何GUD示例如何與JSf + Spring應用程序集成? – JavaBeigner