これは、GAE /JavaMemcacheに関する非常に一般的な質問です。
Memcacheに格納されているNetworkというオブジェクトがあり、Networkへの参照を持つUserという別のオブジェクトがあります。
Network network=Memcache.get(networkKey);
user._network=network; //user references an object that came from Memcache...
これで、user._networkを変更するコードがたくさんあります(Memcacheに触れることなく):
user._network = // Memcacheに触れずに、オブジェクトにいくつかの変更を加えます
さて、ここに質問があります。コードをそのまま見て、最後の行でmemcacheのネットワークオブジェクトが更新されましたか?更新されたネットワークオブジェクトにアクセスする必要のあるサーブレットがあります。問題は、Memcacheオブジェクトを通常のオブジェクトと見なして間違っているかどうかです。
おそらく正しい方法はこれですか?
Network network=Memcache.get(networkKey);
network.doUpdate();
Memcache.put(key,network);