有人能告訴我如何讓緩存在實體中以某個固定間隔(在Eclipselink/JPA 2.0中)過期嗎?我正在嘗試使用@Cacheable註釋。設置實體緩存的有效期限(eclipselink/JPA 2.0)
謝謝!
有人能告訴我如何讓緩存在實體中以某個固定間隔(在Eclipselink/JPA 2.0中)過期嗎?我正在嘗試使用@Cacheable註釋。設置實體緩存的有效期限(eclipselink/JPA 2.0)
謝謝!
這取決於緩存提供者。你可以在一個單獨的配置文件中設置這些東西。
@Entity
@Cache(expiry=360000)
public class Person {
...
}
這將設置實體的到期時間。到期時間以毫秒爲單位。
第一次從數據庫中獲取數據時,它會觸發一個查詢。該實體實例將被緩存。但6分鐘後,此實例將失效,但不會從緩存中刪除。當它被訪問時,它從數據庫刷新。
您還可以選擇此項:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Caching/Expiration。
對於高速緩存的深入瞭解,您可以參考:http://java-persistence-performance.blogspot.in/2013/01/got-cache.html
您的意思是我需要在persistence.xml中設置它嗎?你能否詳細說明你的答案? – Mike 2012-03-27 02:08:02
什麼是您的緩存提供者? – Bozho 2012-03-27 06:00:10
由於我使用Eclipselink,這是我的緩存提供程序。我是Eclipselink/JPA的新手。請幫助我瞭解我是否缺少一些東西。 – Mike 2012-03-27 21:34:40