0

アプリ エンジンの「memcache.get()」は参照またはディープ コピーを返しますか?

私が尋ねる理由は、オブジェクトを変更した後に memcache.set() を呼び出す必要があるかどうかを知りたいからです。

例えば:

# INITALIZE
t_var = {}
t_var['foo'] = 1
memcache.set('some_key', t_var)

# LATER ON...
t_var = memcache.get('some_key')
t_var['foo'] = 2

# EVEN LATER ON...
t_var = memcache.get('some_key')
print t_var['foo']

print t-var['foo']「1」と「2」のどちらが表示されますか?

4

1 に答える 1

8

オブジェクトはpickle、 に送信される前にシリアライズされます (デフォルトでは を使用) memcached。したがって、返されるオブジェクトは必然的にコピーです。これは、memcachedが Python インタープリターとは別のプロセスであり、さらに Python オブジェクトを具体的に認識していないためです。

于 2012-04-18T21:01:32.540 に答える