RavenDB Consistency - WaitForIndexesAfterSaveChanges() / Wai



我正在使用RavenDB 3.5。 我知道查询实体不是acid但每个 ID 加载是。 显然写信给DB也是acid. 目前为止,一切都好。 现在一个问题: 我找到了一些代码:

session.Advanced.WaitForIndexesAfterSaveChanges();
entity = session.Load<T>(id);
session.Delete(entity);
session.SaveChanges();
// Func<T, T> command
command?.Invoke(entity);

在这里打电话WaitForIndexesAfterSaveChanges()的目的是什么? 这是因为执行命令吗? 还是因为去污/消费查询应该立即赶上所做的更改? 如果是这种情况,我可以删除此代码块中的WaitForIndexesAfterSaveChanges(),然后在查询中添加WaitForNonStaleResultsAsOfNow(),不是吗? 如果我的关键查询已经用WaitForNonStaleResultsAsOfNow()标记,我什么时候会首先使用WaitForIndexesAfterSaveChanges()

此行为的最可能原因是希望等待此操作中的索引完成。 要这样做的一个很好的例子是,当您创建一个新项目时,下一个操作将显示项目列表。在保存期间,您可以使用WaitForIndexesAfterSaveChanges等待索引更新。

相关内容

  • 没有找到相关文章

最新更新