【问题标题】:RavenDB Consistency - WaitForIndexesAfterSaveChanges() / WaitForNonStaleResultsAsOfNowRavenDB 一致性 - WaitForIndexesAfterSaveChanges() / WaitForNonStaleResultsAsOfNow
【发布时间】:2019-03-28 09:06:19
【问题描述】:

我正在使用 RavenDB 3.5。 我知道查询实体不是acid,而是按 ID 加载。 显然写入数据库也是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()

【问题讨论】:

    标签: ravendb data-consistency


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多