我正在尋找在我的應用程序數據層中添加少量緩存。目標:在請求結束時緩存失效Spring
我有一些邏輯深入10-15方法。這些方法可能需要在每個步驟中訪問數據庫中的集合。現在,我在method1的調用期間查詢集合,並且在某些情況下最終將集合傳遞給5-6個調用,以避免再次查詢它。
爲了解決這個問題,我想我可以緩存查詢的結果,而不是傳遞集合,只是一次又一次地查詢它,知道我會立即收到相同的響應,而不會去數據庫。另外,爲了避免任何被棄用的對象,我的緩存失效策略將在每個http請求結束後模擬傳遞在請求開始時被查詢的集合的行爲而失效。
我使用SpringData
訪問數據庫,並且正在考慮使用spring的緩存註釋來緩存存儲庫結果數據。我檢查了文檔,它需要一個Cache實現才能工作(例如EHCache
或類似的)。看看他們的失效策略,我似乎無法找到任何與基於請求的無效相關的任何事情。
可以做到這一點嗎?這是解決我的問題的好方法嗎?請注意,我使用MongoDB
作爲數據庫。