2012-01-04 37 views
0

我要確保一件事的transaction鎖GAE的。在本文檔中它說:的AppEngine事務鎖

在交易必須 如果交易是一個組 交易相同的實體組的實體操作的所有數據存儲區操作,....

因此,儘管一個txn正在運行,它只會鎖定該單個實體組的每個條目,不會鎖定事務中使用的每個模型條目。這樣對嗎?

回答

3

GAE使用optimistic locking - 這意味着在事務中沒有任何東西被鎖定,而是檢查最後一次更新時間,如果它是在你開始事務之後 - 它會拋出異常(並回滾你的數據)。它在「What Can Be Done In a Transaction

+2

但要回答原來的問題描述,但是misphrased:爭只適用於實體相同的實體組中,沒有一個給定的模型的所有實體,是的。 – 2012-01-04 05:43:39

+0

哦,是的,your're吧,我已經錯過了這個 – 2012-01-04 05:49:19

+0

「什麼可以做在一個事務」鏈接是死的,找不到任何引用的任何地方,以谷歌數據存儲的基於時間戳的樂觀鎖,甚至開始,如果它不知道它已經不再是 – 1977 2017-03-17 04:26:57