2016-01-28 25 views
2

在我的應用程序中,我使用了Spring,Hibernate和EHCache。問題在於數據庫正在被另一個應用程序修改。刷新由數據庫更改觸發的緩存有可能嗎?

是否有可能,是否有任何已實施的解決方案來基於某些數據庫更改來刷新緩存?我可以使用一些額外的列進行版本控制等。

任何想法?

回答

0

你在找什麼就知道爲Read-Write Through緩存。 EhCache支持它。

從ehcache的文檔:

寫式高速緩存是其中寫入到高速緩存 原因寫入底層資源高速緩存模式。緩存充當底層資源的外觀。通過這種模式,通過緩存讀取通常也是有意義的。後寫緩存使用相同的客戶端API;然而,寫入是異步發生的。 Ehcache-2.0引入了 直寫式和後寫式高速緩存。雖然文件系統或Web服務客戶端可以作爲直寫式高速緩存的基礎,但最常見的底層資源是數據庫。

這裏是一個詳細的文章: http://www.ehcache.org/documentation/2.8/apis/write-through-caching.html#write-through-and-write-behind-caching-with-the-cachewriter-

0

的Ehcache不支持這樣的情況下開箱。直寫是當更改以另一種方式流動時:應用程序更新緩存並在後臺緩存將更新推送到數據庫。

爲了將數據庫更新推送到您的應用程序,您將不得不提出自己的解決方案。理想的方法是不要讓兩個不同的應用程序碰到相同的數據,而是讓兩個應用程序中的一個通過另一個應用程序,這樣一個應用程序擁有這組數據。

相關問題