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 batching automatico.
- Metodi istanza di gestione della cache
- Metodi istanza Memcache e Urlfetch
- Metodi di gestione delle transazioni
- Metodi statici
Metodi di istanza per la gestione della cache
- clear_cache()
- Svuota la cache in-context.
- flush()
- Svuota tutte le code del batcher automatico (inviando il lavoro ai server).
Lo svuotamento avviene in modo asincrono.
Restituisce un
Future
. Per attendere il completamento dello svuotamento, chiama il metodowait()
di questo oggetto. - get_cache_policy()
- Restituisce la funzione del criterio della cache.
Questa funzione di criterio accetta un argomento istanza Key
e restituisce
un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Può essereNone
(ovverodefault_cache_policy
). - get_datastore_policy()
- Restituisce la funzione del criterio del datastore del contesto corrente.
Questa funzione di criteri accetta un argomento istanza Key
e restituisce
un
bool
che indica se deve utilizzare il Datastore. Può essereNone
(ovverodefault_datastore_policy
). - get_memcache_policy()
- Restituisce la funzione del criterio memcache corrente.
Questa funzione di criteri accetta un argomento istanza Key e restituisce un
bool
che indica se deve essere memorizzata nella cache. Può essereNone
(ovverodefault_memcache_policy
). - get_memcache_timeout_policy()
- Restituisce la funzione del criterio di timeout memcache corrente.
Questa funzione di criteri accetta un argomento istanza Key
e restituisce
il timeout memcache desiderato in secondi (o restituisce
zero per utilizzare il timeout predefinito).
Può essere
None
, che utilizzadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Imposta la funzione del criterio di cache.
Argomenti
- func
- Questa funzione accetta un argomento istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Può essereNone
.
- set_datastore_policy(func)
- Imposta la funzione del criterio Datastore.
Argomenti
- func
- Questa funzione accetta un argomento istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere archiviata in Datastore persistente. Può essereNone
.
- set_memcache_policy(func)
- Imposta la funzione del criterio memcache.
Argomenti
- func
- Questa funzione accetta un argomento istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Può essereNone
.
- set_memcache_timeout_policy(func)
- Imposta la funzione del criterio di timeout memcache.
Argomenti
- func
- Questa funzione prende un argomento istanza
Key
e restituisce il timeout di memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito). Può essereNone
.
Metodi di istanza Memcache e Urlfetch
L'elenco completo dei metodi è disponibile nel riferimento all'API Memcache. L'elenco riportato di seguito mette in evidenza alcuni dei metodi più utilizzati:
- memcache_add(key, value, time, namespace)
- Memcache con batch automatico asincrono
add()
. - memcache_cas(chiave, valore, ora, spazio_nomi)
- Memcache con raggruppamento automatico asincrono
Client
cas()
(confronta e sostituisci). - memcache_decr(key, delta, initial_value, namespace)
- Memcache con batch automatico asincrono
decr()
. - memcache_delete(key, seconds, namespace)
- Memcache con batch automatico asincrono
delete()
. - memcache_get(key, namespace, use_cache)
- Memcache con batch automatico asincrono
get()
.Restituisce un
Future
il cui valore restituito è il valore recuperato da memcache oNone
. - memcache_gets(key, namespace, use_cache)
- Memcache con batch automatico asincrono
gets()
. - memcache_incr(key, delta, initial_value, namespace)
- Memcache con batch automatico asincrono
incr()
. - memcache_replace(key, value, time, namespace)
- Memcache con batch automatico asincrono
replace()
. - memcache_set(key, value, time, namespace, use_cache)
- Memcache con batch automatico asincrono
set()
. - urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
- urlfetch con raggruppamento automatico asincrono
fetch().
Metodi di gestione delle transazioni
- call_on_commit(callback)
- Mete in coda un callback da chiamare al termine dell'commit di una transazione.
Se non è in corso una transazione, il callback viene chiamato immediatamente.
In una transazione è possibile registrare più callback, che verranno chiamati al momento dell'commit della transazione nell'ordine in cui sono stati registrati. Se la transazione non va a buon fine, i callback non verranno richiamati.
Se un callback genera un'eccezione, viene visualizzato normalmente. Ciò significa che se il callback viene chiamato immediatamente, qualsiasi eccezione generata verrà visualizzata immediatamente. Se la chiamata viene posticipata fino al commit, i callback rimanenti verranno ignorati e l'eccezione verrà passata alla chiamata
transaction()
. Tuttavia, a quel punto la transazione è già stata eseguita.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
in caso contrario.
Metodi statici
- default_cache_policy(key)
- Controlla se esiste una variabile di classe
_use_cache
nella classe del modello dell'entità. Se esiste, la restituisce. In caso contrario, restituisciNone
. - default_datastore_policy(key)
- Controlla se esiste una variabile di classe
_use_datastore
nella classe del modello dell'entità. Se esiste, la restituisce. In caso contrario, restituisciNone
. - default_memcache_policy(key)
- Verifica la presenza di una variabile di classe
_use_memcache
nella classe del modello dell'entità. Se esiste, la restituisce. In caso contrario, restituisciNone
. - default_memcache_timeout_policy(key)
- Controlla se esiste una variabile di classe
_memcache_timeout
nella classe del modello dell'entità. Se esiste, la restituisce. In caso contrario, restituisciNone
.