理論的なシナリオ:GAEデータストアに在庫を保持するeコマースWebサイトがあります。各レコードには、アイテムの名前とカウントが含まれています。このストアはトラフィックが少なく在庫が大きいため、複数の顧客が同じアイテムを同時に購入する可能性は低いです。これは、ここでは、一定の期間、同じレコードを毎秒数回更新するというデータストアの制限に焦点を当てないようにするためです。GAE Datastoreレコードのフィールドを同時に更新する
2人の顧客が同じアイテムを同時に購入した場合、そのアイテムのレコードを正しく更新するにはどうすればよいですか?私たちは各アイテムの正しいカウントを維持することが重要です。
mongoの世界では、$ inc操作のようなものを使用します。 GAE Datastoreのこのシナリオはどのように扱いますか?あなたは、同時に2つのトランザクションを試みることができるように
おかげ
ネイティブな方法はありません。 memcached組み込みインクリメントメソッドをデータストアと組み合わせて使用する場合は、googleを使用します。 100%ではありませんが、使用された直後にmemcachedオブジェクトが両方とも削除され、2人のユーザーが同時に増加した場合にのみ失敗します。 –
これは面白いアプローチです。どうもありがとう。 –