2010-03-23 49 views
3

任何人都可以推薦適用於Java EE 6應用程序的良好二級對象緩存解決方案,併爲您的建議提供背景知識嗎?我使用JPA 2.0作爲持久性提供者。什麼是適用於Java EE應用程序的良好二級緩存?

我特別擔心必須將緩存客戶端作爲單線程/單例bean運行。是這樣嗎?如果是這樣,那是一個問題嗎?

我有很好的經驗,使用從PHP Web應用程序的memcached,但PHP當然是單線程的,所以這是從來沒有一個問題...

回答

3

誰能推薦一個很好的二級對象緩存解決方案對Java EE 6級的應用

雖然L2緩存合同在JPA 2.0規範,二級緩存實現是供應商特定的,你可能會或可能不會在不同的L2高速緩存插件。

爲了以防萬一,請參閱Hibernate的19.2. The Second Level Cache這個章節(正如你將會看到的那樣,這個問題沒有單一的答案,選擇一個或者另一個實現取決於你的需求和你將要使用緩存的方式)。

我特別擔心必須將緩存客戶端作爲單線程/單例bean運行。是這樣嗎?如果是這樣,那是一個問題嗎?

我不明白這個問題。您不必擔心任何事情,JPA提供程序與緩存進行交互,而不是您。

+0

好吧,我開始明白 - 緩存由容器/ JPA提供者,而不是外部的應用程序(如memcached的)提供?我使用EclipseLink作爲JPA提供程序,所以這就是我應該看的地方,正確(http://wiki.eclipse.org/Introduction_to_Cache_%28ELUG%29)? – Hank 2010-03-23 09:56:13

+1

@Hank:緩存*由第三方庫(通常位於VM內)提供,但由JPA提供商管理*。 – skaffman 2010-03-23 09:57:02

+0

@Hank對於JPA 2.0,正確的位置是http://wiki.eclipse.org/EclipseLink/Development/JPA_2.0/cache_usaged#Section_3.7.1_-_The_shared-cache-mode_element – 2010-03-23 10:19:11

相關問題