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

Couchbase: Is it possible to have stale cold cache?

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

我的问题是:

我认为没有办法检测文档是否过时,因为(在您的情况下)它们在崩溃前没有写入磁盘。

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