RavenDB(build 888)中DocumentConvention的默认ctor将DefaultQueryingConsistency设置为MonotonicRead。据我了解,这意味着默认情况下,我们将等待写入后更新索引。不要误解我的意思 - 这对简单性来说是个好消息(特别是在集成测试中),但这与我所理解的RavenDB最终一致性的咒语有关。
我读过ConsistencyOptions.cs中引用的the article,但我对MonotonicRead和ReadYourWrites之间的区别感到困惑 - 它们对我来说似乎是一样的。
那么:这两个一致性模型之间有什么区别,这与RavenDB的一致性模型有什么关系呢?
答案 0 :(得分:2)
ReadYourWrites相当于对所有查询执行WaitForNonStaleResultsAsOfLastWrite。 这意味着您不会从任何地图索引获得任何陈旧的结果(或获得超时异常),但您可能仍会从map / reduce查询中获得陈旧的结果。