Frage

In der „Memcache-Viewer“, ist es eine Möglichkeit, eine Liste der vorhandenen Schlüssel zu entleeren? Nur für das Debuggen, natürlich, nicht für den Einsatz in allen Skripts!

Ich frage, weil es nicht wie das GAE SDK scheint eine „echte“ memcache-Server verwenden, so vermute ich, es in Python (der Einfachheit halber, da es nur ein Entwicklungs-Server ist) emuliert ist .. da Dies würde bedeuten, ist ein dict irgendwo mit den Tasten / Werte ..

War es hilfreich?

Lösung

fragen Menschen für diese auf der Memcached Liste viel, manchmal mit der gleichen Art von „nur für den Fall mag ich umschauen zu debuggen etwas“ Gefühl.

Der beste Weg, dies zu umgehen, ist zu wissen, wie Sie Ihre Schlüssel generieren, und gehen Sie einfach Zeug aussehen, wenn Sie wissen wollen, was für einen bestimmten Wert gespeichert wird.

Wenn Sie zu viele Dinge haben Memcached im Rahmen Ihrer Debug-Sitzung zu tun mit, dass, dann starten Sie Zugang anmelden.

Aber bedenken - Memcached schnell ist, weil es nicht für solche Dinge überhaupt zulässt. Der Community-Server hat begrenzte Funktionalität, um eine Teilmenge des Schlüssels innerhalb einer gegebenen Platte Klasse zu erhalten, aber es ist wahrscheinlich nicht das, was Sie wirklich wollen, und hoffentlich Google nicht in ihrer Umsetzung. :)

Andere Tipps

Nein. Ich habe eine solche Funktionalität nicht zu in Memcached gefunden.

über dieses Thema denkt, fand ich diese Einschränkung verständlich - es würde eine Registrierung der Schlüssel mit allen damit verbundenen Problemen wie Schlüssel Ablauf zu halten, Entwertung und natürlich Verriegelung. Ein solches System nicht so schnell sein würde, wie memcaches sein soll.

Memcache ist so konzipiert, schnell zu sein und es gibt keinen überzeugenden Anwendungsfall für diese Funktionalität was den Aufwand rechtfertigen würde für einen Befehl erforderlich, die so im Widerspruch mit dem Rest von Memcached ist.

Das GAE SDK simuliert Memcached, so dass es nicht diese Funktionalität entweder bietet.

Der einfachste Weg, den ich denken konnte, wäre ein memcache Schlüssel bei einer bekannten ID zu halten und dann anhängen jedes Mal, wenn Sie einen neuen Schlüssel ein. Auf diese Weise kann nur für die einzelnen Schlüssel abfragen könnte eine Liste der vorhandenen Schlüssel zu erhalten.

Hier ist eine mögliche Arbeit um. Ich bin nicht vertraut mit Google App Engine, sondern auf einem regelmäßigen memcache Server können Sie alle Schlüssel über Telnet Liste aus wie folgt:

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

Dank Graham King Blog-Post für diese nette kleine Rezept .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top