通常、私は:
if not memcache.get('mykey'):
memcache.set('mykey', item)
しかし、今日memcache.add()
、アイテムがまだ存在しない場合にのみアイテムを追加するように見える を見ました。これは上記のコードと同等ですか?上記のコードを に置き換えることはできますmemcache.add()
か?
また、さらに重要なことに、私は AppStats を使用しており、RPC Call Traces の下で、リクエストがmemcache.set()
orget()
またはdatastore.put()
orを呼び出しているかどうかを確認できget()
ます。上記の 2 行のコードを使用すると、予期される に対して何も表示されませんmemcache.set()
。ただし、 only memcache.add()
(項目が既に存在するかどうかを確認せずに) を使用すると、 false が返さmemcache.set()
れても (新しい項目が挿入されなかったことを意味します)、常に が呼び出されます。memcache.add()
これはなぜですか?