Couchbase:是否可能有陈旧的冷缓存?

时间:2016-07-29 14:27:45

标签: caching couchbase

我们正在考虑使用Couchbase作为持久缓存层。由于Couchbase首先将缓存项写入内存并异步同步到磁盘,因此我们关注的一个问题是崩溃一致性。如果某些缓存项在内存中更新并且Couchbase在将它们提交到磁盘之前崩溃,那么当Couchbase重新启动时,这些项将会过时。

我的问题是:

  • Couchbase会检测并报告这些项目是陈旧的吗?如果是这样,我们可以放弃这些项目,因为它们是缓存。
  • 是否有其他特定于Couchbase的方法来处理过时的缓存问题?

1 个答案:

答案 0 :(得分:2)

我认为没有办法检测文档是否陈旧,因为(在您的场景中)它们在崩溃之前没有被写入磁盘。

但是,您可以在创建文档时指定durability requirements。默认情况下,如果写入内存,则认为写入成功。您可以添加其他约束,例如" PersistTo" (在认为写入成功之前,文档必须持久保存到N个节点。)