1

「MemcacheViewer」で、既存のキーのリストをダンプする方法はありますか?もちろん、デバッグのためだけに、スクリプトで使用するためではありません。

GAE SDKが「実際の」memcacheサーバーを使用しているようには見えないので、Pythonでエミュレートされていると思います(簡単にするために、単なる開発サーバーです)。これは、口述があることを意味します。キー/値のどこかに..

4

5 に答える 5

8

人々は memcached リストでこれを頻繁に要求し、時には「何かをデバッグするために周りを見回したい場合に備えて」という同じタイプの感情を持っています。

これを処理する最善の方法は、キーを生成する方法を知ることです。特定の値に対して何が格納されているかを知りたい場合は、調べてみてください。

デバッグ セッションの範囲内で memcached を使用してそれを行うことが多すぎる場合は、アクセスのログ記録を開始します。

しかし、心に留めておいてください - memcached は一般的にそのようなことを許可しないため、高速です。コミュニティ サーバーには、特定のスラブ クラス内で利用可能なキーのサブセットを取得するための機能が制限されていますが、おそらくそれは本当に必要なものではないでしょう。Google がそれを実装しないことを願っています。:)

于 2009-03-09T14:56:16.423 に答える
0

私が考える最も簡単な方法は、既知のIDでmemcacheキーを維持し、新しいキーを挿入するたびにそれに追加することです。このようにして、単一のキーを照会するだけで、既存のキーのリストを取得できます。

于 2009-03-18T23:12:49.827 に答える
0

Memcache は高速になるように設計されており、memcached の残りの部分と相容れないコマンドに必要なオーバーヘッドを正当化する、この機能の説得力のある使用例はありません。

GAE SDK は memcached をシミュレートしているため、この機能も提供していません。

于 2009-03-09T14:29:07.720 に答える
0

これは可能な回避策です。私は 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 のブログ記事で素敵な小さなレシピを提供してくれてありがとう。

于 2011-03-02T18:36:18.947 に答える