Un'applicazione può utilizzare un campo Contesto per controllare i propri criteri di memorizzazione nella cache.
Context
offre anche pratiche API asincrone per Memcache e il recupero URL, integrate nelle strutture asincrone di NDB. In particolare, l'API Memcache supporta il batch 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 il completamento del flushing, chiama il metodowait()
di questo oggetto. - get_cache_policy()
- Restituisci la funzione dei criteri della 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 nella cache contestuale. Può essereNone
(ovvero, utilizzadefault_cache_policy
). - get_datastore_policy()
- Restituisce la funzione dei criteri Datastore corrente in contesto.
Questa funzione del criterio prende un argomento dell'istanza Key e restituisce un
bool
che indica se deve utilizzare il Datastore. Può essereNone
(ovvero, utilizzadefault_datastore_policy
). - get_memcache_policy()
- Restituisci la funzione del criterio memcache attuale.
Questa funzione del criterio prende un argomento dell'istanza Key e restituisce un
bool
che indica se deve essere memorizzato nella cache. Può essereNone
(ovvero, utilizzadefault_memcache_policy
). - get_memcache_timeout_policy()
- restituisce l'attuale funzione del criterio di timeout memcache.
Questa funzione di criterio utilizza un argomento di istanza Key e restituisce il timeout memcache desiderato in secondi (oppure restituisce uno zero per utilizzare il timeout predefinito).
Potrebbe essere
None
, che utilizzadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Imposta la funzione dei criteri della cache.
Argomenti
- func
- Questa funzione utilizza un argomento dell'istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache nella cache contestuale. Può essereNone
.
- set_datastore_policy(func)
- Imposta la funzione del criterio Datastore.
Argomenti
- func
- Questa funzione prende un argomento dell'istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere archiviata nel datastore permanente. Può essereNone
.
- set_memcache_policy(func)
- Imposta la funzione dei criteri memcache.
Argomenti
- func
- Questa funzione utilizza un argomento dell'istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache nella cache contestuale. Può essereNone
.
- set_memcache_timeout_policy(func)
- Imposta la funzione del criterio di timeout memcache.
Argomenti
- func
- Questa funzione utilizza un
argomento di istanza
Key
e restituisce il timeout memcache desiderato in secondi (oppure restituisce zero per utilizzare il timeout predefinito). Può essereNone
.
Metodi di istanza Memcache e Urlfetch
L'elenco completo dei metodi è disponibile nel riferimento dell'API Memcache. L'elenco seguente evidenzia alcuni dei metodi più utilizzati:
- memcache_add(chiave, valore, tempo, spazio dei nomi)
- Memcache in batch automatico asincrono
add()
. - memcache_cas(chiave, valore, tempo, spazio dei nomi)
- Memcache automatico in batch asincrono
Client
cas()
(confronto e scambio). - memcache_decr(chiave, delta, valore_iniziale, spazio dei nomi)
- Memcache in batch automatico asincrono
decr()
. - memcache_delete(chiave, secondi, spazio dei nomi)
- Memcache in batch automatico asincrono
delete()
. - memcache_get(chiave, spazio dei nomi, use_cache)
- Memcache in batch automatico asincrono
get()
.Restituisce un
Future
il cui valore restituito è il valore recuperato da memcache oNone
. - memcache_gets(chiave, spazio dei nomi, use_cache)
- Memcache in batch automatico asincrono
gets()
. - memcache_incr(chiave, delta, valore_iniziale, spazio dei nomi)
- Memcache in batch automatico asincrono
incr()
. - memcache_replace(chiave, valore, tempo, spazio dei nomi)
- Memcache in batch automatico asincrono
replace()
. - memcache_set(chiave, valore, tempo, spazio dei nomi, use_cache)
- Memcache in 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 che verranno richiamati una volta che la transazione viene eseguita 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, le bolle vengono mostrate 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à visualizzata durante la chiamata
transaction()
. Tuttavia, a quel punto la transazione è già stata impegnata.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,False
altrimenti.
Metodi statici
- default_cache_policy(chiave)
- Verifica la presenza di una variabile di classe
_use_cache
nella classe del modello dell'entità; se presente, la restituisci. In caso contrario, restituisciNone
. - default_datastore_policy(chiave)
- Verifica la presenza di una variabile di classe
_use_datastore
nella classe del modello dell'entità; se presente, la restituisci. In caso contrario, restituisciNone
. - default_memcache_policy(chiave)
- Verifica la presenza di una variabile di classe
_use_memcache
nella classe del modello dell'entità; se presente, la restituisci. In caso contrario, restituisciNone
. - default_memcache_timeout_policy(key)
- Verifica la presenza di una variabile di classe
_memcache_timeout
nella classe del modello dell'entità; se presente, la restituisci. In caso contrario, restituisciNone
.