Wie kann ich verhindern, dass AppEngine memcache spült

Wir verwenden derzeit den Memcache von AppEngine, um Session-Informationen (Session-Token) zu speichern und einige HTML-Daten zwischenzuspeichern. Unsere gesamte memcache Nutzung ist unter 1 MB die meiste Zeit.

Wie können wir verhindern, dass der Cache nach ein paar Minuten spült (heute morgen hatten wir nach 40 Minuten mit nur 25 KB). Gestern (2013-10-15 21:30 UTC – 2013-10-15 21:45) hatten wir irgendwann innerhalb von 2 bis 7 Sekunden (mit unter 20 KB Daten)?

2 Solutions collect form web for “Wie kann ich verhindern, dass AppEngine memcache spült”

Mit dem standardmäßigen freien Memcache werden Ihre apps memcache Daten zusammen mit dem von anderen AppEngine Apps gespeichert, und wenn also die anderen Apps den verfügbaren Speicher zum Ausfüllen veranlassen, dann sind Ihre Daten genauso wahrscheinlich, dass sie abgelaufen sind (siehe https: / /developers.google.com/appengine/docs/adminconsole/memcache ). Daher sollte Ihre Anwendung nicht erwarten, dass ein zwischengespeicherter Wert immer verfügbar ist.

Sie können jedoch Ihre App konfigurieren, um Dedicated memcache zu verwenden (in der Admin-Konsole unter Anwendungseinstellungen). Dies widmet spezifische Speicher für Ihre Anwendungen nur verwenden, sondern kommt zu einem Preis von $ 0,12 pro GB pro Stunde.

Sollten Sie versuchen, diese Daten dauerhaft auf Datenspeicher zu speichern und verwenden Sie memcache, um das Abfrageergebnis zu erhalten oder setzen Sie es, wenn nicht in memcache. Ich habe viel über "zwingend" Memcache gelesen, um anders auszuführen, als es für entworfen wurde, aber es bleibt die Tatsache, dass man nicht nie 100% sicher sein kann, dass Sie die Daten dort finden, wenn Sie nach einem bekommen.

Alle Session-Handler, die ich versuchte, bieten Token-Speicher in ein User-Modell, zum Beispiel . Sie können dieses Modell erweitern oder ein anderes erstellen, um HTML zu speichern.

Schauen Sie sich hier auch die Verwendung von @webapp2.cached_property

  • Freigeben von Memcache mit PHP und Python
  • Fehler bei der Installation von pylibmc mit Pip
  • Get () set () memcached listening on UDP mit Python
  • Wie exportiere ich alle Schlüssel und Werte aus memcached mit python-memcache?
  • Pylibmc: 'Assertion' ptr-> query_id == query_id +1 "fehlgeschlagen für die Funktion" memcached_get_by_key "'
  • Wie kann ich die Google App Engine bei jedem Einsatz der Website einrichten?
  • Welche Schritte sind erforderlich, um Memcached in einer Django-Anwendung zu implementieren?
  • Wie speichere ich eine geholte Entität in memcache für App Engine?
  • Bester Platz zum Löschen des Cache beim Neustart des Django-Servers
  • Cache eine Django-Ansicht, die URL-Parameter hat
  • Idioten führen zu App-Engine und Memcache
  • Python ist die beste Programmiersprache der Welt.