我们正在考虑使用Couchbase作为持久缓存层。由于Couchbase首先将缓存项写入内存并异步同步到磁盘,因此我们关注的一个问题是崩溃一致性。如果某些缓存项在内存中更新并且Couchbase在将它们提交到磁盘之前崩溃,那么当Couchbase重新启动时,这些项将会过时。
我的问题是:
答案 0 :(得分:2)
我认为没有办法检测文档是否陈旧,因为(在您的场景中)它们在崩溃之前没有被写入磁盘。
但是,您可以在创建文档时指定durability requirements。默认情况下,如果写入内存,则认为写入成功。您可以添加其他约束,例如" PersistTo" (在认为写入成功之前,文档必须持久保存到N个节点。)