「MemcacheViewer」で、既存のキーのリストをダンプする方法はありますか?もちろん、デバッグのためだけに、スクリプトで使用するためではありません。
GAE SDKが「実際の」memcacheサーバーを使用しているようには見えないので、Pythonでエミュレートされていると思います(簡単にするために、単なる開発サーバーです)。これは、口述があることを意味します。キー/値のどこかに..
「MemcacheViewer」で、既存のキーのリストをダンプする方法はありますか?もちろん、デバッグのためだけに、スクリプトで使用するためではありません。
GAE SDKが「実際の」memcacheサーバーを使用しているようには見えないので、Pythonでエミュレートされていると思います(簡単にするために、単なる開発サーバーです)。これは、口述があることを意味します。キー/値のどこかに..
人々は memcached リストでこれを頻繁に要求し、時には「何かをデバッグするために周りを見回したい場合に備えて」という同じタイプの感情を持っています。
これを処理する最善の方法は、キーを生成する方法を知ることです。特定の値に対して何が格納されているかを知りたい場合は、調べてみてください。
デバッグ セッションの範囲内で memcached を使用してそれを行うことが多すぎる場合は、アクセスのログ記録を開始します。
しかし、心に留めておいてください - memcached は一般的にそのようなことを許可しないため、高速です。コミュニティ サーバーには、特定のスラブ クラス内で利用可能なキーのサブセットを取得するための機能が制限されていますが、おそらくそれは本当に必要なものではないでしょう。Google がそれを実装しないことを願っています。:)
私が考える最も簡単な方法は、既知のIDでmemcacheキーを維持し、新しいキーを挿入するたびにそれに追加することです。このようにして、単一のキーを照会するだけで、既存のキーのリストを取得できます。
Memcache は高速になるように設計されており、memcached の残りの部分と相容れないコマンドに必要なオーバーヘッドを正当化する、この機能の説得力のある使用例はありません。
GAE SDK は memcached をシミュレートしているため、この機能も提供していません。
これは可能な回避策です。私は Google App Engine に慣れていませんが、通常の memcache サーバーでは、次のように telnet を介してすべてのキーを一覧表示できます。
telnet 127.0.0.1 11211
stats items
STAT items:7:number 5
STAT items:7:age 88779
STAT items:7:evicted 0
STAT items:7:evicted_time 0
STAT items:7:outofmemory 0
STAT items:7:tailrepairs 0
... etc
END
stats cachedump 7 100
ITEM __builtin__.str_is_browser_supported·user_agent_hash=5706b885fdad3f7049dfb39455dfa7ab10086d97 [269 b; 1298926467 s]
END
Graham King のブログ記事で素敵な小さなレシピを提供してくれてありがとう。