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
- Metodi di istanza Memcache e Urlfetch
- Metodi di gestione delle transazioni
- Metodi statici
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 la fine del lavaggio, chiama il metodowait()
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ò essereNone
(che significa utilizzaredefault_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ò 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()
- 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 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 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ò essereNone
.
- 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ò 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(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 oNone
. - 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 i aumenti risulteranno immediatamente visibili. Se la chiamata viene posticipata al giorno il commit, i callback rimanenti verranno ignorati e l'eccezione che vedi il messaggio in questione durante la chiamata a
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(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(chiave)
- 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(chiave)
- 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 la presenza di un
_memcache_timeout
variabile di classe sulla classe del modello dell'entità; se ce n'è uno, restituiscilo. In caso contrario, restituisciNone
.