【问题标题】:Querying immediately for saved entity returns null sometimes - datastore立即查询已保存的实体有时会返回 null - 数据存储
【发布时间】:2016-01-10 22:08:56
【问题描述】:

我正在保存具有以下属性的实体类型“评论”

review {
  _id : 4e0590ae-7603-44ff-8333-b3d06546914f
  text : 'Nice review'
}

我正在通过 AJAX 调用保存它,并且在成功响应时,我通过 _id 并在另一个 AJAX 调用中查询保存的评论。有时我会得到 null,这会导致 NullPointerException。在数据存储中存储实体需要更多时间?如果需要,那么第一个 AJAX 调用不应该返回,直到 put 操作完成。有没有我遗漏的配置?

【问题讨论】:

    标签: java ajax google-app-engine google-cloud-datastore


    【解决方案1】:

    在数据存储中,您没有瞬时的强一致性。在复制数据和填充索引时,您将获得最终的一致性。

    要强制保持一致性,您需要ancestor queriesget-by-key queries

    查看this article,了解有关如何构建数据的更多想法。

    【讨论】:

    • 谢谢。我正在对我的域类进行建模,这样切换到 cassandra 也应该可以工作。所以,我必须改变方法以避免使用祖先查询和按键获取查询。
    • 那么你需要等待,据我所知,没有其他方法可以强制保持一致性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    • 2021-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多