GAE的most recent release表示以下更改:
数据存储
Cross Group(XG)交易:适用于需要交易写入的人 到多个实体组中的实体(这是每个人,对吗?), XG交易就是这样。此功能使用两阶段提交 使交叉组写入原子就像单组写入一样。
我想我可以在我之前创建的项目代码中使用此更改,但我想了解有关此App Engine更新的更多信息。我似乎无法找到任何其他信息。所以......
关于此更新,编码交易有何变化?用外行人的话来说,如何实现跨群交易,我还需要了解数据存储交易的一些限制吗?
我知道这是一个相当含糊的问题。我的问题是这听起来非常有用,但我不确定如何正确(和有效)地使用这种改变。
答案 0 :(得分:4)
您是否阅读过任何文档?听起来你没有(基于你说“我似乎无法找到任何其他信息”)。在这种情况下,请查看下面的链接,看看是否还有任何问题。
从概念上讲,执行跨组事务非常类似于典型的GAE事务,只是速度较慢,并且仅在HRD中可用。请注意,通常,“正常”和XG的GAE事务具有与您从SQL数据库中使用的不同的隔离特性。第二个链接在XG部分之后立即讨论。
以下是第一个链接的摘录,显示了使用XG的简单程度。
from google.appengine.ext import db
xg_on = db.create_transaction_options(xg=True)
def my_txn():
x = MyModel(a=3)
x.put()
y = MyModel(a=7)
y.put()
db.run_in_transaction_options(xg_on, my_txn)