Classe di contesto NDB

Un'applicazione può utilizzare un campo Contesto per controllare i propri criteri di memorizzazione nella cache. Context offre inoltre pratiche API asincrone per Memcache e il recupero degli URL integrati nelle strutture asincrone di NDB; in particolare, l'API Memcache supporta il batching automatico.

Metodi di istanza di gestione della cache

clear_cache()
Cancella la cache contestuale.
flush()
Esegui il flush di tutte le code del batcher automatico (inviando il loro lavoro ai server). Lo svuotamento avviene in modo asincrono.

Restituisce un Future. Per attendere il termine del lavaggio, chiama il metodo wait() di questo oggetto.

get_cache_policy()
Restituisci la funzione dei criteri della cache. Questa funzione del criterio prende una chiave e restituisce l'argomento istanza un bool che indica se l'entità questa chiave deve essere memorizzata nella cache contestuale. Può essere None (che significa utilizzare default_cache_policy).
get_datastore_policy()
Restituisce la funzione dei criteri Datastore corrente in contesto. Questa funzione del criterio prende una chiave e restituisce l'argomento istanza un bool che indica se deve utilizzare o meno Datastore. Può essere None (che significa utilizzare default_datastore_policy).
get_memcache_policy()
Restituisci la funzione del criterio memcache attuale. Questa funzione del criterio prende una chiave e restituisce l'argomento istanza un bool che indica se deve essere memorizzato nella cache. Può essere None (che significa utilizzare default_memcache_policy).
get_memcache_timeout_policy()
restituisce l'attuale funzione del criterio di timeout memcache. Questa funzione del criterio prende una chiave e restituisce l'argomento istanza il timeout memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito). Può essere None, che utilizza default_memcache_timeout_policy.
set_cache_policy(func)
Imposta la funzione dei criteri della cache.

Argomenti

func
Questa funzione richiede un Argomento dell'istanza Key e restituisce un bool che indica se l'entità questa chiave deve essere memorizzata nella cache contestuale. Può essere None.
set_datastore_policy(func)
Imposta la funzione del criterio Datastore.

Argomenti

func
Questa funzione richiede un Argomento dell'istanza Key e restituisce un bool che indica se l'entità con questa chiave devono essere archiviati in un Datastore permanente. Può essere None.
set_memcache_policy(func)
Imposta la funzione dei criteri memcache.

Argomenti

func
Questa funzione richiede un Argomento dell'istanza Key e restituisce un bool che indica se l'entità questa chiave deve essere memorizzata nella cache contestuale. Può essere None.
set_memcache_timeout_policy(func)
Imposta la funzione del criterio di timeout memcache.

Argomenti

func
Questa funzione richiede un Key argomento istanza e restituisce il timeout memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito). Può essere None.

Metodi di istanza Memcache e Urlfetch

L'elenco completo dei metodi è disponibile nella Riferimento API Memcache. L'elenco seguente mette in evidenza altri metodi più comuni:

memcache_add(chiave, valore, tempo, spazio dei nomi)
Memcache di batch automatico asincrono add().
memcache_cas(chiave, valore, tempo, spazio dei nomi)
Memcache di batch automatico asincrono Client cas() (confronta e scambia).
memcache_decr(chiave, delta, valore_iniziale, spazio dei nomi)
Memcache di batch automatico asincrono decr().
memcache_delete(chiave, secondi, spazio dei nomi)
Memcache di batch automatico asincrono delete().
memcache_get(chiave, spazio dei nomi, use_cache)
Memcache di batch automatico asincrono get().

Restituisce un Future il cui valore restituito è il valore recuperata da memcache o None.

memcache_gets(chiave, spazio dei nomi, use_cache)
Memcache di batch automatico asincrono gets().
memcache_incr(chiave, delta, valore_iniziale, spazio dei nomi)
Memcache di batch automatico asincrono incr().
memcache_replace(chiave, valore, tempo, spazio dei nomi)
Memcache di batch automatico asincrono replace().
memcache_set(chiave, valore, tempo, spazio dei nomi, use_cache)
Memcache di batch automatico asincrono set().
urlfetch(url, payload, metodo, intestazioni, allow_truncated, follow_redirects, validate_certificate, scadenza, callback)
Recupero URL per il batch automatico asincrono fetch().

Metodi di gestione delle transazioni

call_on_commit(callback)
Metti in coda un callback per effettuare una chiamata in seguito al commit di una transazione.

Se non è in corso una transazione, il callback viene chiamato immediatamente.

In una transazione, è possibile registrare più callback una volta che la transazione viene eseguita nell'ordine in cui sono stati registrati. Se la transazione non va a buon fine, i callback essere chiamato.

Se un callback genera un'eccezione, le bolle vengono mostrate normalmente. Questo significa: se il callback viene chiamato immediatamente, qualsiasi eccezione gli aumenti risulteranno immediatamente visibili. Se la chiamata viene rinviata al giorno il commit, i callback rimanenti verranno ignorati e l'eccezione che appaiono nel corso della chiamata al numero transaction(). (Tuttavia, il transazione è già stata confermata a quel punto).

Argomenti

richiamata
Funzione di callback. Questa funzione di callback non accetta parametri e non restituisce nulla.
in_transaction()
restituisce True se questo contesto rappresenta una transazione, False altrimenti.

Metodi statici

default_cache_policy(key)
Controlla la presenza di un _use_cache variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisci None.
default_datastore_policy(key)
Controlla la presenza di un _use_datastore variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisci None.
default_memcache_policy(key)
Controlla la presenza di un _use_memcache variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisci None.
default_memcache_timeout_policy(key)
Controlla la presenza di un _memcache_timeout variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisci None.