2017-09-28 32 views
0

我們決定使用緩存(不決定特定的緩存),但今天知道我們需要通過連接到數據存儲來使緩存數據無效或每2分鐘刷新緩存數據,但我認爲2分鐘不是可行的,因爲如果你每2分鐘刷新緩存數據,那麼最好連接到數據存儲本身,所以任何人都可以提出什麼是可行的時間間隔,我們可以設置使無效的舊日期緩存和使用數據存儲中的數據刷新緩存?什麼是使無效(刷新)任何緩存的合理時間間隔?

注:我們使用的是春天開機,Postgres的

回答

0

我覺得你是一個有點困惑緩存。如果緩存操作的結果(例如X)兩分鐘,這意味着在兩分鐘內重複操作的每個人都將有X作爲結果,在緩存失效兩分鐘後,以及將被再次存儲下一次請求操作,所以如果沒有人執行操作兩個小時,它將在兩小時後刷新。

項目應該存在於緩存中的時間取決於很多因素,無法爲所有情況計算絕對可行值。

  • 哪個是緩存操作的執行速度?
  • 操作的結果變化很快嗎?你在緩存每天都在變化的東西嗎?每小時?
  • 誰能讓緩存的結果具有舊版本的結果,可以多大?

我離開你這個報價(這是關於這一主題的必備):

"There are only two hard problems in Computer Science: 
cache invalidation and naming things." 

-- Phil Karlton 
相關問題