2016-07-29 89 views
2

我們正在考慮將Couchbase用作持久緩存層。由於Couchbase首先將緩存項寫入內存並異步同步到磁盤,因此我們擔心的一個問題是崩潰一致性。如果某些緩存項目在內存中更新並且Couchbase在將它們提交到磁盤之前崩潰,那麼當Couchbase重新啓動時,這些項目將失效。Couchbase:是否有可能存在過時的低溫緩存?

我的問題是:

  • 將Couchbase檢測和報告這些項目是否陳舊?如果是這樣,我們可以放棄這些項目,因爲它們是緩存。
  • 是否有任何其他Couchbase特定的方式來處理陳舊的緩存問題?

回答

2

我不認爲會有辦法檢測文檔是否過時,因爲(在您的情況下)它們在崩潰前未寫入磁盤。

但是,您可以在創建文檔時指定durability requirements。默認情況下,寫入被認爲是成功的,如果它將其寫入內存。您可以添加其他約束,如「PersistTo」(在寫入被認爲成功之前,文檔必須被保存到N個節點)。