Paket google.appengine.api.memcache

Übersicht

Memcache API.

Stellt Anwendungsentwicklern eine Memcached-ähnliche API bereit, um Daten im Arbeitsspeicher abzulegen, wenn ein zuverlässiger Speicher über die DataStore API nicht erforderlich ist und höhere Leistung gewünscht wird.

Inhalt

Klasse google.appengine.api.memcache.Client(servers=None, debug=0, pickleProtocol=2, pickler=function, unpickler=function, pload=None, pid=None, make_sync_call=None, _app_id=None)Quellcode

Basiert auf: object

Memcache-Clientobjekt, über das alle Memcache-Vorgänge aufgerufen werden.

Einige Methoden sind managementfrei, um die Kompatibilität mit der vorhandenen Python-Memcache-Bibliothek auf Quellcodeebene aufrechtzuerhalten.

Methoden, die "key"-Argumente verarbeiten, akzeptieren diese entweder als String (Unicode oder nicht) oder Tupel mit (hash_value, string), wobei der normalerweise für die Fragmentierung auf eine Memcache-Instanz verwendete hash_value ignoriert wird, weil die Fragmentierung bei der Google App Engine transparent abläuft. Schlüssel (keys) in Memcache sind einfache Byte ohne spezifische Codierung. Alle diese Methoden können bei Übergabe eines falschen Schlüsselwerts einen TypeError bzw. einen ValueError auslösen, wenn der Schlüssel zu groß ist.

Methoden, die "value"-Argumente verarbeiten, akzeptieren den Wert als String (Unicode oder nicht), int, long oder als pickle-fähiges Python-Objekt, einschließlich aller nativen Typen. Aus dem Cache wird der gleiche Typ zurückgeben, der ursprünglich darin gespeichert wurde.

Die Client-Klasse ist in Bezug auf die Methoden gets(), cas() und cas_multi() (sowie andere Compare-and-set-verwandte Methoden) nicht threadsicher. Daher sollten Client-Objekte von nicht mehr als einem Thread für CAS-Zwecke verwendet werden. Für die Funktionen auf Modulebene ist der globale Client in Ordnung, da er keine CAS-Methoden offenlegt.

add(key, value, time=0, min_compress_len=0, namespace=None)Quellcode

Legt den Wert eines Schlüssels fest, wenn sich das Element nicht bereits im Memcache befindet.

Parameter
  • key: Der festzulegende Schlüssel. Weitere Informationen finden Sie in der Client-Dokumentation.

  • value: Der festzulegende Wert. Alle Typen. Verarbeitung erfolgt mit dem pickle-Modul, wenn komplex.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • min_compress_len: Diese Option wird aus Kompatibilitätsgründen ignoriert.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

"True", wenn hinzugefügt. "False" bei einem Fehler.

add_multi(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None)Quellcode

Legt die Werte mehrerer Schlüssel fest, wenn die Elemente noch nicht im Memcache sind.

Parameter
  • mapping: Dictionary mit Schlüssel-Wert-Zuordnungen.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • key_prefix: Für alle Schlüssel voranzustellendes Präfix.

  • min_compress_len: Nicht implementierte Kompatibilitätsoption.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

Eine Liste der Schlüssel, deren Werte NICHT festgelegt wurden, weil sie bereits in Memcache vorhanden sind. Bei vollständig erfolgreicher Ausführung sollte diese Liste leer sein.

add_multi_async(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None, rpc=None)Quellcode

Asynchrone Version von add_multi() – den unterschiedlichen Rückgabewert beachten.

Gibt Folgendes zurück:

Siehe _set_multi_async_with_policy().

cas(key, value, time=0, min_compress_len=0, namespace=None)Quellcode

Compare-and-set-Aktualisierung.

Voraussetzung ist, dass der Schlüssel zuvor erfolgreich mit gets() oder get(..., for_cas = True) abgerufen wurde und dass seit dem Abruf keine Änderungen am Schlüssel vorgenommen wurden. Typische Verwendung:

key = … client = memcache.Client() value = client.gets(key) # OR client.get(key, for_cas=True) <updated value> ok = client.cas(key, value)

Führen zwei Prozesse ähnlichen Code aus, liefert der erste, der cas() aufruft, (ok == True), während der zweite fehlschlägt (ok == False). Dies kann genutzt werden, um Race-Bedingungen zu erkennen.

HINWEIS: Einige Status (die CAS-ID) werden im Clientobjekt für jeden Schlüssel gespeichert, der jemals mit get() verwendet wurde. Um eine ständig zunehmende Arbeitsspeichernutzung zu vermeiden, müssen Sie bei Verwendung von cas() ein Client-Objekt verwenden. Die Lebensdauer Ihres Client-Objekts sollte auf die Lebensdauer einer eingehenden HTTP-Anfrage beschränkt sein. Die auf globalen Funktionen basierende API kann nicht verwendet werden.

Parameter
  • key: Der festzulegende Schlüssel. Weitere Informationen finden Sie in der Client-Dokumentation.

  • value: Der neue Wert.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • min_compress_len: Diese Option wird aus Kompatibilitätsgründen ignoriert.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

"True" bei Aktualisierung. "False" bei einem RPC-Fehler oder wenn die CAS-ID nicht übereinstimmt.

cas_multi(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None)Quellcode

Compare-and-set-Aktualisierung mehrerer Schlüssel.

Eine Erläuterung finden Sie im docstring für cas().

Parameter
  • mapping: Dictionary mit Schlüssel-Wert-Zuordnungen.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • key_prefix: Für alle Schlüssel voranzustellendes Präfix.

  • min_compress_len: Nicht implementierte Kompatibilitätsoption.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

Eine Liste von Schlüsseln, deren Werte NICHT festgelegt wurden, weil der Vergleich fehlgeschlagen ist. Bei vollständig erfolgreicher Ausführung sollte diese Liste leer sein.

cas_multi_async(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None, rpc=None)Quellcode

Asynchrone Version von cas_multi() – den unterschiedlichen Rückgabewert beachten.

Gibt Folgendes zurück:

Siehe _set_multi_async_with_policy().

cas_reset()Quellcode

Löscht die gespeicherten CAS-IDs.

debuglog()Quellcode

Logging-Funktion für Debugging-Informationen.

Dies ist eine reine Kompatibilitätsmethode. In der Google App Engine ist sie managementfrei.

decr(key, delta=1, namespace=None, initial_value=None)Quellcode

Dekrementiert den Wert eines Schlüssels in kleinstmöglichen Schritten.

Intern handelt es sich bei dem Wert um eine vorzeichenlose 64-Bit-Ganzzahl. Memcache begrenzt eine Dekrementierung unter Null auf Null.

Der Schlüssel muss bereits im Cache vorhanden sein, um dekrementiert zu werden. Weitere Informationen finden Sie in der Dokumentation zu incr().

Parameter
  • key: Der zu dekrementierende Schlüssel. Bei einer iterierbaren Sammlung wird jeder Schlüssel verschoben. Weitere Informationen finden Sie im docstring des Clients.

  • delta: Nicht negative Ganzzahl (int oder long), um die der Schlüssel dekrementiert werden soll, Standard ist 1.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

  • initial_value: Anfangswert, der in den Cache geschrieben wird, sofern nicht bereits vorhanden. Beim Standardwert ("None") wird kein Cacheeintrag erstellt, wenn noch keiner vorhanden ist.

Rückgaben

Wenn der Schlüssel ein einzelner Wert war, den neuen Long-Integer-Wert, bzw. "None", wenn sich der Schlüssel nicht im Cache befand, aus einem anderen Grund nicht dekrementiert werden konnte oder ein Netzwerk-/RPC-/Serverfehler auftrat.

War der Schlüssel eine iterierbare Sammlung, wird ein Dictionary zurückgegeben, das die gelieferten Schlüssel den Werten zuordnet, wobei die Werte die gleiche Bedeutung wie der einzelne Rückgabewert dieser Methode haben.

Löst aus
  • ValueError: Wenn die Zahl negativ ist.

  • TypeError: Wenn delta kein int oder long ist.

decr_async(key, delta=1, namespace=None, initial_value=None, rpc=None)Quellcode

Asynchrone Version von decr().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren Methode get_result() den gleichen Werttyp liefert wie decr().

delete(key, seconds=0, namespace=None)Quellcode

Löscht einen Schlüssel aus Memcache.

Parameter
  • key: Schlüssel, der gelöscht werden soll. Weitere Informationen entnehmen Sie der Client-Dokumentation.

  • seconds: Optionale Anzahl von Sekunden, um gelöschte Elemente für "add"-Vorgänge zu sperren. Bei dem Wert kann es sich um eine Differenz ausgehend von der aktuellen Zeit (bis zu ein Monat) oder um eine absolute Unix-Epochen-Zeit handeln. Der Standardwert ist 0, was bedeutet, dass sofort Elemente hinzugefügt werden können. "set"-Vorgänge funktionieren immer, unabhängig davon, ob diese Option verwendet wird oder nicht. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

DELETE_NETWORK_FAILURE (0) bei einem Netzwerkfehler, DELETE_ITEM_MISSING (1), wenn der Server versucht hat, das Element zu löschen, aber keinen Zugriff darauf hatte, oder DELETE_SUCCESSFUL (2), wenn das Element gelöscht wurde. Dieser Wert kann als boolescher Wert verwendet werden, bei dem ein Netzwerkfehler der einzige Fehlerzustand ist.

delete_multi(keys, seconds=0, key_prefix='', namespace=None)Quellcode

Löscht mehrere Schlüssel gleichzeitig.

Parameter
  • keys: Liste der zu löschenden Schlüssel.

  • seconds: Optionale Anzahl von Sekunden, um gelöschte Elemente für "add"-Vorgänge zu sperren. Bei dem Wert kann es sich um eine Differenz ausgehend von der aktuellen Zeit (bis zu ein Monat) oder um eine absolute Unix-Epochen-Zeit handeln. Der Standardwert ist 0, was bedeutet, dass sofort Elemente hinzugefügt werden können. "set"-Vorgänge funktionieren immer, unabhängig davon, ob diese Option verwendet wird oder nicht. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • key_prefix: Präfix, um das alle Schlüssel erweitert werden, wenn bestimmte Schlüssel an Memcache gesendet werden. Siehe Dokumentation zu get_multi() und set_multi().

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

True, wenn alle Vorgänge erfolgreich abgeschlossen wurden. "False", wenn mindestens ein Vorgang nicht abgeschlossen werden konnte.

delete_multi_async(keys, seconds=0, key_prefix='', namespace=None, rpc=None)Quellcode

Asynchrone Version von delete_multi() – den unterschiedlichen Rückgabewert beachten.

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren get_result()-Methode "None" liefert, wenn ein Netzwerkfehler aufgetreten ist, oder eine Liste von Statuswerten, bei denen jeder Status einem Schlüssel entspricht und DELETE_SUCCESSFUL, DELETE_ITEM_MISSING oder DELETE_NETWORK_FAILURE lautet (Einzelheiten entnehmen Sie dem delete()-docstring).

disconnect_all()Quellcode

Schließt alle Verbindungen zu Memcache-Servern.

Dies ist eine reine Kompatibilitätsmethode. In der Google App Engine ist sie managementfrei.

flush_all()Quellcode

Löscht alles in Memcache.

Gibt Folgendes zurück:

"True" bei Erfolg, "False" bei einem RPC- oder Serverfehler.

flush_all_async(rpc=None)Quellcode

Asynchrone Version von flush_all().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren get_result()-Methode bei Erfolg "True" zurückgibt bzw. "False" bei einem RPC- oder Serverfehler.

forget_dead_hosts()Quellcode

Setzt alle Server auf den aktiven Status zurück.

Dies ist eine reine Kompatibilitätsmethode. In der Google App Engine ist sie managementfrei.

get(key, namespace=None, for_cas=False)Quellcode

Schlägt einen einzelnen Schlüssel in Memcache nach.

Wenn Sie mehrere Elemente laden möchten, ist get_multi() wesentlich effizienter. Damit werden die Elemente in einem Bulk-Vorgang geladen, was die Netzwerklatenz verringert, die andernfalls durch die vielen serialisierten get()-Vorgänge anfiele.

Parameter
  • key: Der Schlüssel in Memcache, der nachgeschlagen werden soll. Informationen zum Format finden Sie in der Client-Dokumentation.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

  • for_cas: Wenn "True", werden CAS-IDs für den Client angefordert und gespeichert (siehe cas()-Vorgang weiter unten).

Rückgaben

Den Schlüsselwert, wenn er in Memcache gefunden wird, andernfalls "None".

get_multi(keys, key_prefix='', namespace=None, for_cas=False)Quellcode

Schlägt mehrere Schlüssel aus Memcache im selben Vorgang nach.

Dies ist die empfohlene Methode für Massenladevorgänge.

Parameter
  • keys: Liste mit Schlüsseln, die nachgeschlagen werden sollen. Schlüssel können Strings oder Tupel von (hash_value, string) sein. Jedoch führt Google App Engine Fragmentierung und Hash-Technologie automatisch durch, sodass der Hashwert ignoriert wird. Bei Memcache sind Schlüssel nur eine Byte-Folge ohne feste Codierung.

  • key_prefix: Präfix, das allen Schlüsseln bei der Kommunikation mit dem Server vorangestellt wird; im zurückgegebenen Dictionary nicht enthalten.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

  • for_cas: Wenn "True", werden CAS-IDs für den Client angefordert und gespeichert.

Rückgaben

Ein Dictionary der Schlüssel und Werte, die in Memcache vorhanden waren. Selbst wenn das Element "key_prefix" angegeben wurde, ist es nicht bei den Schlüsseln im zurückgegebenen Dictionary enthalten.

get_multi_async(keys, key_prefix='', namespace=None, for_cas=False, rpc=None)Quellcode

Asynchrone Version von get_multi().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren get_result()-Methode bei einem Netzwerkfehler {} zurückgibt. Andernfalls wird wie bei get_multi() ein Dictionary zurückgegeben.

get_stats()Quellcode

Ruft die Memcache-Statistiken für die betreffende Anwendung ab.

Alle diese Statistiken können aufgrund verschiedener vorübergehender Zustände zurückgesetzt werden. Sie liefern die zum jeweiligen Aufrufzeitpunkt bestmöglichen verfügbaren Informationen.

Gibt Folgendes zurück:

Ein Dictionary, das Statistiknamen den zugehörigen Werten zuordnet. Statistiken und deren Bedeutungen:

hits: Anzahl der Cache-Get-Requests, die zu einem Cache-Treffer führten. misses: Anzahl der Cache-Get-Anfragen, die zu einem Cache-Fehler führten. byte_hits: Summe der durch Get-Anfragen übertragenen Byte. Kehrt bei Überlauf

zu Null zurück.

items: Anzahl der Schlüssel/Wert-Paare im Cache. bytes: Gesamtgröße aller Elemente im Cache. oldest_item_age: Zeit in Sekunden, seitdem auf das älteste Element im

Cache zugegriffen wurde. Damit wird angegeben, wie lange ein neues Element im Cache verbleibt, ohne dass darauf zugegriffen wird. Es handelt sich hierbei nicht um die seit der Erstellung des Elements verstrichene Zeit.

Bei einem Fehler wird "None" zurückgegeben.

get_stats_async(rpc=None)Quellcode

Asynchrone Version von get_stats().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren get_result()-Methode bei einem Netzwerkfehler "None" zurückgibt. Andernfalls wird wie bei get_stats() ein Dictionary zurückgegeben.

gets(key, namespace=None)Quellcode

Ein Alias für get(…, for_cas=True).

incr(key, delta=1, namespace=None, initial_value=None)Quellcode

Inkrementiert den Wert eines Schlüssels in kleinstmöglichen Schritten.

Intern handelt es sich bei dem Wert um eine vorzeichenlose 64-Bit-Ganzzahl. Memcache überprüft keine 64-Bit-Überläufe. Wenn der Wert zu groß ist, wird er umgebrochen.

Sofern kein initial_value angegeben ist, muss der Schlüssel bereits im Cache vorhanden sein, damit er inkrementiert wird. Geben Sie entweder initial_value an oder Sie legen ihn mit set() als ASCII-Dezimalzahl auf den Anfangswert fest, um einen Zähler zu initialisieren. Spätere get()s des Schlüssels (nach der Inkrementierung) sind ebenfalls ein ASCII-Dezimalwert.

Parameter
  • key: Der zu inkrementierende Schlüssel. Bei einer iterierbaren Sammlung wird jeder Schlüssel verschoben. Weitere Informationen finden Sie im docstring des Clients.

  • delta: Nicht negative Ganzzahl (int oder long), um die der Schlüssel inkrementiert werden soll, Standard ist 1.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

  • initial_value: Anfangswert, der in den Cache geschrieben wird, sofern nicht bereits vorhanden. Beim Standardwert ("None") wird kein Cacheeintrag erstellt, wenn noch keiner vorhanden ist.

Rückgaben

Wenn der Schlüssel ein einzelner Wert war, den neuen Long-Integer-Wert, bzw. "None", wenn sich der Schlüssel nicht im Cache befand, aus einem anderen Grund nicht inkrementiert werden konnte oder ein Netzwerk-/RPC-/Serverfehler auftrat.

War der Schlüssel eine iterierbare Sammlung, wird ein Dictionary zurückgegeben, das die gelieferten Schlüssel den Werten zuordnet, wobei die Werte die gleiche Bedeutung wie der einzelne Rückgabewert dieser Methode haben.

Löst aus
  • ValueError: Wenn die Zahl negativ ist.

  • TypeError: Wenn delta kein int oder long ist.

incr_async(key, delta=1, namespace=None, initial_value=None, rpc=None)Quellcode

Asynchrone Version von incr().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren Methode get_result() den gleichen Werttyp liefert wie incr().

offset_multi(mapping, key_prefix='', namespace=None, initial_value=None)Quellcode

Verschiebt mehrere Schlüssel um ein Delta, Batchinkrementierung und -dekrementierung.

Parameter
  • mapping: Dictionary, das Schlüssel den Deltas (positive oder negative Ganzzahlen) zuordnet, die auf den entsprechenden Schlüssel angewendet werden sollen.

  • key_prefix: Für alle Schlüssel voranzustellendes Präfix.

  • initial_value: Anfangswert, der in den Cache geschrieben wird, sofern nicht bereits vorhanden. Beim Standardwert ("None") wird kein Cacheeintrag erstellt, wenn noch keiner vorhanden ist.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

Ein Dictionary, das die Eingabeschlüssel den neuen Ganzzahlwerten zuordnet. Der neue Wert wird "None" sein, wenn ein Fehler auftritt, der Schlüssel noch nicht existiert oder der Wert kein Ganzzahltyp ist. Die Wertezählung beginnt beim vorzeichenbehafteten 64-Bit-Integer-Maximalwert wieder von vorne, bei einem Unterlauf wird sie auf Null gesetzt.

offset_multi_async(mapping, key_prefix='', namespace=None, initial_value=None, rpc=None)Quellcode

Asynchrone Version von offset_multi().

Gibt Folgendes zurück:

Eine UserRPC-Instanz, deren get_result()-Methode genau wie bei offset_multi() ein Dictionary zurückgibt.

replace(key, value, time=0, min_compress_len=0, namespace=None)Quellcode

Ersetzt den Wert eines Schlüssels. Der Vorgang schlägt fehl, wenn sich das Element nicht bereits in Memcache befindet.

Parameter
  • key: Der festzulegende Schlüssel. Weitere Informationen finden Sie in der Client-Dokumentation.

  • value: Der festzulegende Wert. Alle Typen. Verarbeitung erfolgt mit dem pickle-Modul, wenn komplex.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • min_compress_len: Diese Option wird aus Kompatibilitätsgründen ignoriert.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

"True", wenn ersetzt. "False" bei RPC- oder Cache-Fehler.

replace_multi(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None)Quellcode

Ersetzt die Werte mehrerer Schlüssel. Schlägt fehl, wenn sich die Elemente nicht in Memcache befinden.

Parameter
  • mapping: Dictionary mit Schlüssel-Wert-Zuordnungen.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • key_prefix: Für alle Schlüssel voranzustellendes Präfix.

  • min_compress_len: Nicht implementierte Kompatibilitätsoption.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

Eine Liste der Schlüssel, deren Werte NICHT festgelegt wurden, weil sie bereits in Memcache vorhanden waren. Bei vollständig erfolgreicher Ausführung sollte diese Liste leer sein.

replace_multi_async(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None, rpc=None)Quellcode

Asynchrone Version von replace_multi() – den unterschiedlichen Rückgabewert beachten.

Gibt Folgendes zurück:

Siehe _set_multi_async_with_policy().

set(key, value, time=0, min_compress_len=0, namespace=None)Quellcode

Legt den Wert eines Schlüssels unabhängig von den vorherigen Inhalten im Cache fest.

Im Gegensatz zu add () und replace () setzt (oder überschreibt) diese Methode den Wert in Memcache unabhängig vom vorherigen Inhalt.

Parameter
  • key: Der festzulegende Schlüssel. Weitere Informationen finden Sie in der Client-Dokumentation.

  • value: Der festzulegende Wert. Alle Typen. Verarbeitung erfolgt mit dem pickle-Modul, wenn komplex.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • min_compress_len: Diese Option wird aus Kompatibilitätsgründen ignoriert.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

"True", wenn festgelegt. "False" bei einem Fehler.

set_multi(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None)Quellcode

Legt die Werte mehrerer Schlüssel gleichzeitig fest, unabhängig vom vorherigen Inhalt.

Parameter
  • mapping: Dictionary mit Schlüssel-Wert-Zuordnungen.

  • time: Eine optionale Ablaufzeit, entweder eine relative Anzahl von Sekunden in der aktuellen Zeit (bis zu 1 Monat) oder eine absolute Unixzeit (Epoche). Elemente laufen standardmäßig niemals ab, können jedoch aufgrund von Speichermangel entfernt werden. Gleitkommawerte werden auf die nächste ganze Sekunde gerundet.

  • key_prefix: Für alle Schlüssel voranzustellendes Präfix.

  • min_compress_len: Nicht implementierte Kompatibilitätsoption.

  • namespace: Ein String, der einen optionalen Namespace für den Request angibt.

Rückgaben

Eine Liste der Schlüssel, deren Werte NICHT festgelegt wurden. Bei vollständig erfolgreicher Ausführung sollte diese Liste leer sein.

set_multi_async(mapping, time=0, key_prefix='', min_compress_len=0, namespace=None, rpc=None)Quellcode

Asynchrone Version von set_multi() – den unterschiedlichen Rückgabewert beachten.

Gibt Folgendes zurück:

Siehe _set_multi_async_with_policy().

set_servers(servers)Quellcode

Legt den Pool der Memcache-Server fest, die vom Client verwendet werden.

Dies ist eine reine Kompatibilitätsmethode. In der Google App Engine ist sie managementfrei.

google.appengine.api.memcache.create_rpc(deadline=None, callback=None)Quellcode

Erstellt ein RPC-Objekt zur Verwendung mit der Memcache API.

Parameter
  • deadline: optionale Frist für den Vorgang in Sekunden. Der Standardwert ist eine systemspezifische Frist, die normalerweise fünf Sekunden beträgt.

  • callback: optionales bei Abschluss auszuführendes Callable.

Rückgaben

Ein für diesen Dienst spezialisiertes apiproxy_stub_map.UserRPC-Objekt.

google.appengine.api.memcache.setup_client(client_obj)Quellcode

Legt die Client-Objektinstanz für alle Methoden auf Modulebene fest.

Verwenden Sie diese Methode, wenn Sie dem Client persistent_id()- oder persistent_load()-Funktionen zuweisen möchten.

HINWEIS: Die _async-Methoden werden nicht als Funktionen bereitgestellt, Sie sind zu obskur. Außerdem stellen wir gets(), cas() und cas_multi() nicht bereit, weil sie den Zustand auf dem Client-Objekt beibehalten.

Parameter

client_obj: Instanz des memcache.Client-Objekts.