【问题标题】:How do entity groups help transactions?实体组如何帮助交易?
【发布时间】:2011-06-22 17:29:41
【问题描述】:

在 Google App Engine 中,事务中的所有数据存储操作都必须对同一组内的实体进行。

我不明白为什么这是对事务有用的约束。这似乎没有必要,因为数据存储区可以根据事务中发生的情况知道要锁定哪些实体。

将实体分组在一起如何改进数据存储在事务期间的操作?

【问题讨论】:

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


    【解决方案1】:

    将 App Engine 的数据存储区视为一个巨大的哈希图很有用。您所能做的就是放置、获取和删除键值对。通常键是自动创建的,通常值是一个序列化的对象,但它仍然是一个庞大的键值对存储。哈希图。

    现在这个大哈希图有一个(也是唯一一个)用于事务的选项:您可以一次原子地操作 一个 键值对。没有选择,ifs 或 buts - 交易是适用于单个交易对的东西。

    当然,您的价值可以是任何东西。它不必是单个对象。它可以是对象的分层树。那是一个实体组。这是一个技巧,“我必须在事务中操作这些对象,所以我必须让它们看起来像一个值。我只需将它们粘贴到父对象中并存储它。”

    因此,创建实体组并不是一种有用的交易方式。实体被分组是因为这是将它们放入事务的唯一方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 2011-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      相关资源
      最近更新 更多