如何強制讀取數據庫數據(在讀取之前不驅逐二級緩存),然後將其放入緩存。如何刷新二級緩存?
用例如下:
有一種服務,它使用字典數據。服務體驗高負載,所以性能是必須的。 我希望字典數據在服務的二級緩存中始終可用。 字典數據可以進行外部修改,因此緩存需要定期刷新。
是否有可能以'SessionFactory
'的其他客戶端不會導致數據庫命中的方式'刷新'二級緩存(在更新數據被讀取時會得到舊項目)。
ehcache
用作緩存提供程序,但可以進行合理更改。
如何強制讀取數據庫數據(在讀取之前不驅逐二級緩存),然後將其放入緩存。如何刷新二級緩存?
用例如下:
有一種服務,它使用字典數據。服務體驗高負載,所以性能是必須的。 我希望字典數據在服務的二級緩存中始終可用。 字典數據可以進行外部修改,因此緩存需要定期刷新。
是否有可能以'SessionFactory
'的其他客戶端不會導致數據庫命中的方式'刷新'二級緩存(在更新數據被讀取時會得到舊項目)。
ehcache
用作緩存提供程序,但可以進行合理更改。
你是如何去實現CacheMode.REFRESH?你有沒有在會話中設置它,Hibernate會自動更新? –
@JoseChavez我已經完成:session.setCacheMode(CacheMode.REFRESH),然後通過Hibernate發出請求,以便在該會話中刷新數據。 https://docs.jboss.org/hibernate/core/3.6/javadocs/org/hibernate/Session.html#setCacheMode(org.hibernate.CacheMode) – Andrey