Classe NDB Context

Un'applicazione può utilizzare un contesto per controllare il criterio di memorizzazione nella cache. Context offre anche comode API asincrone per Memcache e URL Fetch integrate nelle funzionalità asincrone di NDB; in particolare, l'API Memcache supporta il batch automatico.

Metodi dell'istanza di gestione della cache

clear_cache()
Svuota la cache contestuale.
flush()
Svuota tutte le code di batch automatico (inviando il lavoro ai server). Lo svuotamento avviene in modo asincrono.

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

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

Argomenti

func
Questa funzione accetta un argomento di istanza Key e restituisce un valore bool che indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Potrebbe essere None.
set_datastore_policy(func)
Imposta la funzione di policy Datastore.

Argomenti

func
Questa funzione accetta un argomento di istanza Key e restituisce un bool che indica se l'entità con questa chiave deve essere archiviata in Datastore persistente. Potrebbe essere None.
set_memcache_policy(func)
Imposta la funzione di policy memcache.

Argomenti

func
Questa funzione accetta un argomento di istanza Key e restituisce un valore bool che indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Potrebbe essere None.
set_memcache_timeout_policy(func)
Imposta la funzione di policy di timeout di memcache.

Argomenti

func
Questa funzione accetta un argomento dell'istanza Key e restituisce il timeout memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito). Potrebbe essere None.

Metodi di istanza Memcache e Urlfetch

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

memcache_add(key, value, time, namespace)
Memcache di batch automatico asincrono add().
memcache_cas(key, value, time, namespace)
Memcache con batch automatico asincrono Client cas() (confronta e scambia).
memcache_decr(key, delta, initial_value, namespace)
Memcache di batching automatico asincrono decr().
memcache_delete(key, seconds, namespace)
Memcache di batching automatico asincrono delete().
memcache_get(key, namespace, use_cache)
Memcache di batching automatico asincrono get().

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

memcache_gets(key, namespace, use_cache)
Memcache di batching automatico asincrono gets().
memcache_incr(key, delta, initial_value, namespace)
Memcache di batching automatico asincrono incr().
memcache_replace(key, value, time, namespace)
Memcache di batching automatico asincrono replace().
memcache_set(key, value, time, namespace, use_cache)
Memcache di batching automatico asincrono set().
urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
Recupero URL di batch automatico asincrono fetch().

Metodi di gestione delle transazioni

call_on_commit(callback)
Mette in coda un callback da chiamare al termine del commit di una transazione.

Se non si trova in una transazione, il callback viene chiamato immediatamente.

In una transazione, è possibile registrare più callback che verranno chiamati una volta eseguito 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, questa viene propagata normalmente. Ciò significa che se il callback viene chiamato immediatamente, qualsiasi eccezione generata si propagherà immediatamente. Se la chiamata viene posticipata fino al commit, i callback rimanenti verranno ignorati e l'eccezione verrà visualizzata tramite la chiamata transaction(). Tuttavia, a quel punto il commit della transazione è già stato eseguito.

Argomenti

callback
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 se _use_cache esiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisci None.
default_datastore_policy(key)
Controlla la presenza di una _use_datastore variabile di classe nella classe modello dell'entità; se presente, la restituisce. In caso contrario, restituisci None.
default_memcache_policy(key)
Controlla se _use_memcache esiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisci None.
default_memcache_timeout_policy(key)
Controlla se _memcache_timeout esiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisci None.