我正在開發一個使用Jersey的RESTful Web服務,我將使用一個簡單的對象緩存,通過基於計時器從數據庫中檢索記錄來更新它的數據。我打算使用HashMap將檢索到的數據存儲在此緩存中,但我的問題是更新此HashMap的最佳做法。更新對象緩存的HashMap的最佳實踐
現在我的選擇是讓HashMap變得易變,隨時更新進來,創建一個新的HashMap,然後在完成時分配它。我也可以將HashMap包裝在一個同步塊中,或直接更新HashMap變量時使用ReentrantReadWriteLock。我也想過使用ConcurrentHashMap,它似乎有一些性能優勢。使用其中一種方法比其他方法有什麼顯着的性能差異和/或缺點?
此外,當用戶通過我的Web服務API更新或插入記錄時,最佳做法是在將記錄保存在數據庫中或強制緩存執行另一個大數據檢索後,直接更新本地緩存?
閱讀的例子,但我不知道的性能優勢,因爲我還總是對DB新的數據讀取讀取每分鐘左右。我通過API返回整個列表(認爲事件日曆),您提到的示例是用於緩存特定值。 – Justin