2012-03-18 5 views
0

メモリ/ memcacheでいくつかのデータを操作したい。重要なのは、GAEがメモリからデータをアンロードすることを決定したときに、データを失わずに永続的なストレージに保存したいと思うことです。GAEのmemache/memoryからオブジェクトのアンロードを検出する

私はまさにGAEのmemcachedオブジェクトのアンロードイベントを検出する方法がありませんか?

グローバル変数の値をデータストアに保存するには、まだ__del__()をオーバーライドできますか? (私の場合はこのケースを確認することは難しいです)

答えて

4

申し訳ありませんが、これは完全に間違った方法です。適切なことは、データストアとmemcacheにデータを書き込んだり、後でそれをmemcacheから読み込み、データストアから読み込んでmemcacheに書き戻すことです。

__del__のオーバーロードも悪い考えです。一般的には悪い考えです。この目的のためには、__del__メソッドを呼び出さずにプロセスが終了する理由がいくつもあるので、悲惨です。 (例えば、メモリ不足、PythonやLinuxカーネルのハードクラッシュ、ハードウェアの障害など)

memcacheとデータストアを考える必要がない場合は、 NDB - これは透過的に行います。

関連する問題