Un'applicazione può utilizzare un Contesto per controllare il proprio criterio di memorizzazione nella cache.
Context
offre inoltre pratiche API asincrone per
Memcache e il recupero di URL integrate nelle strutture asincrone di NDB.
In particolare, l'API Memcache supporta il batch automatico.
- Metodi delle istanze di gestione della cache
- Metodi di istanza di memcache e recupero URL
- Metodi di gestione delle transazioni
- Metodi statici
Metodi di istanza di gestione della cache
- clear_cache()
- Svuota la cache nel contesto.
- flush()
- Svuota tutte le code di batcher automatico (invio del lavoro ai server).
Lo svuotamento avviene in modo asincrono.
Restituisce un valore
Future
. Per attendere il completamento dello scarico, chiama il metodowait()
di questo oggetto. - get_cache_policy()
- Restituisci la funzione del criterio 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 nel contesto. Può essereNone
(ovverodefault_cache_policy
). - get_datastore_policy()
- Restituisce la funzione dei criteri di datastore di contesto corrente.
Questa funzione del criterio prende un argomento di istanza Key e restituisce un
bool
che indica se deve utilizzare Datastore. Può essereNone
(ovverodefault_datastore_policy
). - get_memcache_policy()
- Restituisce la funzione dei criteri memcache corrente.
Questa funzione del criterio prende un argomento di istanza Key e restituisce un valore
bool
che indica se deve essere memorizzato nella cache. Può essereNone
(ovverodefault_memcache_policy
). - get_memcache_timeout_policy()
- Restituisci la funzione corrente del criterio di timeout memcache.
Questa funzione del criterio accetta un argomento di istanza Key e restituisce il timeout memcache desiderato in secondi (oppure restituisce zero per utilizzare il timeout predefinito).
Potrebbe essere
None
, che utilizzadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Imposta la funzione del criterio di cache.
Argomenti
- func
- Questa funzione prende un argomento di istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache nel contesto. Può essereNone
.
- set_datastore_policy(func)
- Imposta la funzione del criterio Datastore.
Argomenti
- func
- Questa funzione prende un argomento di istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere archiviata in un datastore permanente. Può essereNone
.
- set_memcache_policy(func)
- Imposta la funzione dei criteri memcache.
Argomenti
- func
- Questa funzione prende un argomento di istanza Key e restituisce un
bool
che indica se l'entità con questa chiave deve essere memorizzata nella cache nel contesto. Può essereNone
.
- set_memcache_timeout_policy(func)
- Imposta la funzione del criterio di timeout memcache.
Argomenti
- func
- Questa funzione prende 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 di memcache e recupero URL
L'elenco completo dei metodi è disponibile nel riferimento dell'API Memcache. Il seguente elenco evidenzia alcuni dei metodi più comunemente utilizzati:
- memcache_add(chiave, valore, ora, spazio dei nomi)
- Memcache di auto-batching asincrono
add()
. - memcache_cas(chiave, valore, tempo, spazio dei nomi)
- Memcache di batch automatici asincrona
Client
cas()
(confronto e scambio). - memcache_decr(chiave, delta, valore_iniziale, spazio dei nomi)
- Memcache di auto-batch asincrono
decr()
. - memcache_delete(chiave, secondi, spazio dei nomi)
- Memcache di auto-batch asincrono
delete()
. - memcache_get(chiave, spazio dei nomi, use_cache)
- Memcache di auto-batch asincrono
get()
.Restituisce un
Future
il cui valore restituito è il valore recuperato da memcache oNone
. - memcache_gets(chiave, spazio dei nomi, use_cache)
- Memcache di auto-batch asincrono
gets()
. - memcache_incr(chiave, delta, valore_iniziale, spazio dei nomi)
- Memcache di auto-batch asincrono
incr()
. - memcache_replace(chiave, valore, ora, spazio dei nomi)
- Memcache di auto-batch asincrono
replace()
. - memcache_set(chiave, valore, tempo, spazio dei nomi, use_cache)
- Memcache di auto-batch asincrono
set()
. - urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
- Recupero url di auto-batch asincrono
fetch().
Metodi di gestione delle transazioni
- call_on_commit(callback)
- Metti in coda un callback da chiamare in caso di commit di una transazione con esito positivo.
Se non si tratta di una transazione, il callback viene chiamato immediatamente.
In una transazione possono essere registrati più callback, che verranno chiamati dopo 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, viene visualizzato normalmente. Ciò significa che se il callback viene chiamato immediatamente, qualsiasi eccezione sollevata 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, la 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()
- Restituisci
True
se questo contesto rappresenta una transazione, altrimentiFalse
.
Metodi statici
- default_cache_policy(chiave)
- Verifica la presenza di una variabile di classe
_use_cache
nella classe del modello dell'entità; se presente, restituiscila. 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, restituiscila. 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, restituiscila. 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, restituiscila. In caso contrario, restituisciNone
.