在Couchbase的观察功能中,“persistTo”和“replicateTo”之间有什么区别?

时间:2012-09-20 21:20:32

标签: nosql couchbase consistency

Couchbase API中,有一些存储和删除操作,允许您指定在返回之前必须成功保留操作的节点数。这通过两个方法参数表示:

我的问题是:persistTo和replicateTo参数之间有什么区别。例如,传递PersistTo.MASTER + ReplicateTo.THREE似乎完全等同于传递PersistTo.FOUR。在这两种不同的样式中调用这些观察到的API之间是否存在任何行为差异?

1 个答案:

答案 0 :(得分:2)

PersistTo.MASTER + ReplicateTo.THREE表示项目必须至少在主节点上的磁盘上,至少在三个副本节点的内存中。在这种情况下,该项可能不会保留在副本上。

PersistTo.FOUR表示该项必须保留在主文件和三个副本上。

考虑事情的一个好方法是,仅仅因为项目被复制到另一个节点并不意味着该项目已被持久保存到磁盘。