2

RavenDB (build 888) 中 DocumentConvention 的默认 ctor 将 DefaultQueryingConsistency 设置为 MonotonicRead。据我了解,这意味着默认情况下,我们将等待索引在写入后更新。不要误会我的意思——这对于简单性来说是个好消息(尤其是在集成测试中),但它违背了我理解的 RavenDB 最终一致性口头禅的一部分。

我已经阅读了 ConsistencyOptions.cs 中引用的文章,但我对 MonotonicRead 和 ReadYourWrites 之间的区别感到困惑——它们对我来说似乎是一样的。

那么:这两种一致性模型有什么区别,这与 RavenDB 的一致性模型有什么关系?

4

1 回答 1

2

ReadYourWrites 相当于对所有查询执行 WaitForNonStaleResultsAsOfLastWrite。这意味着您不会从任何映射索引中获得任何陈旧的结果(或获得超时异常),但您仍可能从 map/reduce 查询中获得陈旧的结果。

于 2012-05-29T19:02:59.927 回答