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 di 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()
- 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 la fine del lavaggio, chiama il metodowait()
di questo oggetto. - get_cache_policy()
- Restituisce la funzione del criterio 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ò essereNone
(che significa utilizzaredefault_cache_policy
). - get_datastore_policy()
- Restituisce la funzione dei criteri Datastore corrente in contesto.
Questa funzione di criteri accetta un argomento istanza Key e restituisce un
bool
che indica se deve utilizzare il Datastore. Può essereNone
(che significa utilizzaredefault_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ò essereNone
(che significa utilizzaredefault_memcache_policy
). - get_memcache_timeout_policy()
- Restituisci 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 utilizzadefault_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ò 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 richiede un
Argomento dell'istanza Key e
restituisce un
bool
che indica se l'entità questa chiave deve essere memorizzata nella cache contestuale. Può essereNone
.
- 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ò essereNone
.
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(key, value, time, namespace)
- Memcache con 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 con batch automatico asincrono
decr()
. - memcache_delete(chiave, secondi, spazio dei nomi)
- Memcache con 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 recuperato da memcache oNone
. - memcache_gets(key, namespace, use_cache)
- Memcache di batch automatico asincrono
gets()
. - memcache_incr(chiave, delta, valore_iniziale, spazio dei nomi)
- Memcache con batch automatico asincrono
incr()
. - memcache_replace(key, value, time, namespace)
- 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, 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)
- 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, 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 essere chiamato.
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 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
in caso contrario.
Metodi statici
- default_cache_policy(chiave)
- Controlla la presenza di un
_use_cache
variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisciNone
. - 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, restituisciNone
. - 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, 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
.