Classe di contesto NDB

Un'applicazione può utilizzare un Contesto per controllare il proprio criterio di memorizzazione nella cache. Context offre inoltre pratiche API asincrone per Memcache e il recupero di URL integrate nelle strutture asincrone di NDB. In particolare, l'API Memcache supporta il batch automatico.

Metodi di istanza di gestione della cache

clear_cache()
Svuota la cache nel contesto.
flush()
Svuota tutte le code di batcher automatico (invio del lavoro ai server). Lo svuotamento avviene in modo asincrono.

Restituisce un valore Future. Per attendere il completamento dello scarico, chiama il metodo wait() di questo oggetto.

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

Argomenti

func
Questa funzione prende un argomento di istanza Key e restituisce un bool che indica se l'entità con questa chiave deve essere memorizzata nella cache nel contesto. Può essere None.
set_datastore_policy(func)
Imposta la funzione del criterio Datastore.

Argomenti

func
Questa funzione prende un argomento di istanza Key e restituisce un bool che indica se l'entità con questa chiave deve essere archiviata in un datastore permanente. Può essere None.
set_memcache_policy(func)
Imposta la funzione dei criteri memcache.

Argomenti

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

Argomenti

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

Metodi di istanza di memcache e recupero URL

L'elenco completo dei metodi è disponibile nel riferimento dell'API Memcache. Il seguente elenco evidenzia alcuni dei metodi più comunemente utilizzati:

memcache_add(chiave, valore, ora, spazio dei nomi)
Memcache di auto-batching asincrono add().
memcache_cas(chiave, valore, tempo, spazio dei nomi)
Memcache di batch automatici asincrona Client cas() (confronto e scambio).
memcache_decr(chiave, delta, valore_iniziale, spazio dei nomi)
Memcache di auto-batch asincrono decr().
memcache_delete(chiave, secondi, spazio dei nomi)
Memcache di auto-batch asincrono delete().
memcache_get(chiave, spazio dei nomi, use_cache)
Memcache di auto-batch asincrono get().

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

memcache_gets(chiave, spazio dei nomi, use_cache)
Memcache di auto-batch asincrono gets().
memcache_incr(chiave, delta, valore_iniziale, spazio dei nomi)
Memcache di auto-batch asincrono incr().
memcache_replace(chiave, valore, ora, spazio dei nomi)
Memcache di auto-batch asincrono replace().
memcache_set(chiave, valore, tempo, spazio dei nomi, use_cache)
Memcache di auto-batch asincrono set().
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
Recupero url di auto-batch asincrono fetch().

Metodi di gestione delle transazioni

call_on_commit(callback)
Metti in coda un callback da chiamare in caso di commit di una transazione con esito positivo.

Se non si tratta di una transazione, il callback viene chiamato immediatamente.

In una transazione possono essere registrati più callback, che verranno chiamati dopo il commit della transazione nell'ordine in cui sono stati registrati. Se la transazione non va a buon fine, i callback non verranno chiamati.

Se un callback genera un'eccezione, viene visualizzato normalmente. Ciò significa che se il callback viene chiamato immediatamente, qualsiasi eccezione sollevata verrà visualizzata immediatamente. Se la chiamata viene posticipata fino al commit, i callback rimanenti verranno ignorati e l'eccezione verrà visualizzata durante la chiamata transaction(). Tuttavia, la 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()
Restituisci True se questo contesto rappresenta una transazione, altrimenti False.

Metodi statici

default_cache_policy(chiave)
Verifica la presenza di una variabile di classe _use_cache nella classe del modello dell'entità; se presente, restituiscila. In caso contrario, restituisci None.
default_datastore_policy(chiave)
Verifica la presenza di una variabile di classe _use_datastore nella classe del modello dell'entità; se presente, restituiscila. In caso contrario, restituisci None.
default_memcache_policy(chiave)
Verifica la presenza di una variabile di classe _use_memcache nella classe del modello dell'entità; se presente, restituiscila. In caso contrario, restituisci None.
default_memcache_timeout_policy(key)
Verifica la presenza di una variabile di classe _memcache_timeout nella classe del modello dell'entità; se presente, restituiscila. In caso contrario, restituisci None.