当 couchbase 服务器响应 set 命令时:
- 当数据保存到单个(主)节点时
- 当数据保存到所有节点时
答案会因您使用的客户端库而略有不同。但一般来说,调用 set 的肯定结果仅意味着客户端和服务器之间没有 I/O 或其他错误。在这种情况下,对于给定的密钥,数据应该安全地保存在主节点的内存中。
在 2.0 中,Couchbase Server 和各自的客户端库将支持 Observe 方法,这将允许进行持久性检查。调用观察,您将能够提出以下问题:
有关观察的更多信息,请参阅http://www.couchbase.com/wiki/display/couchbase/Observe。
还有一点,只是为了确保清楚...... Couchbase 集群中的节点在职责方面都是对等的,但在密钥和这些密钥的复制方面具有主/从关系。换句话说,键“foo”有一个主节点,但可以作为该键的从属副本复制到其他节点。
Couchbase 的默认行为是它只会将数据写入主节点。对其他副本节点的写入以对等通信方式异步发生。此外,实际上在主节点中,数据仅在执行写入操作时才写入缓存(RAM)(稍后会被持久化)。