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 batch automatico.
- Metodi dell'istanza di gestione della cache
- Metodi di istanza Memcache e Urlfetch
- Metodi di gestione delle transazioni
- Metodi statici
Metodi dell'istanza di gestione della cache
- clear_cache()
- Svuota la cache contestuale.
- flush()
- Svuota tutte le code di batch 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 della policy della cache.
Questa funzione dei criteri accetta un argomento di istanza Key e restituisce un valore
boolche indica se l'entità con questa chiave deve essere memorizzata nella cache in contesto. Potrebbe essereNone(ovvero utilizzaredefault_cache_policy). - get_datastore_policy()
- Restituisce la funzione dei criteri Datastore del contesto corrente.
Questa funzione del criterio accetta un argomento di istanza Key e restituisce un
boolche indica se deve utilizzare Datastore. Potrebbe essereNone(ovvero utilizzaredefault_datastore_policy). - get_memcache_policy()
- Restituisce la funzione della policy memcache corrente.
Questa funzione dei criteri accetta un argomento di istanza Key e restituisce un valore
boolche indica se deve essere memorizzato nella cache. Potrebbe essereNone(ovvero utilizzaredefault_memcache_policy). - get_memcache_timeout_policy()
- Restituisce la funzione della policy di timeout della memcache corrente.
Questa funzione dei criteri accetta un argomento di istanza Key e restituisce il timeout della memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito).
Potrebbe essere
None, che utilizzadefault_memcache_timeout_policy. - set_cache_policy(func)
- Imposta la funzione della policy della cache.
Argomenti
- func
- Questa funzione accetta un argomento di istanza Key e restituisce un valore
boolche indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Potrebbe essereNone.
- set_datastore_policy(func)
- Imposta la funzione di policy Datastore.
Argomenti
- func
- Questa funzione accetta un argomento di istanza Key e restituisce un
boolche indica se l'entità con questa chiave deve essere archiviata in Datastore persistente. Potrebbe essereNone.
- set_memcache_policy(func)
- Imposta la funzione di policy memcache.
Argomenti
- func
- Questa funzione accetta un argomento di istanza Key e restituisce un valore
boolche indica se l'entità con questa chiave deve essere memorizzata nella cache in-context. Potrebbe essereNone.
- set_memcache_timeout_policy(func)
- Imposta la funzione di policy di timeout di memcache.
Argomenti
- func
- Questa funzione accetta un
argomento dell'istanza
Keye restituisce il timeout memcache desiderato in secondi (o restituisce zero per utilizzare il timeout predefinito). Potrebbe essereNone.
Metodi di istanza Memcache e Urlfetch
L'elenco completo dei metodi è disponibile nel riferimento API Memcache. L'elenco seguente evidenzia alcuni dei metodi più comunemente utilizzati:
- memcache_add(key, value, time, namespace)
- Memcache di batch automatico asincrono
add(). - memcache_cas(key, value, time, namespace)
- Memcache con batch automatico asincrono
Clientcas()(confronta e scambia). - memcache_decr(key, delta, initial_value, namespace)
- Memcache di batching automatico asincrono
decr(). - memcache_delete(key, seconds, namespace)
- Memcache di batching automatico asincrono
delete(). - memcache_get(key, namespace, use_cache)
- Memcache di batching automatico asincrono
get().Restituisce un
Futureil cui valore restituito è il valore recuperato da memcache oNone. - memcache_gets(key, namespace, use_cache)
- Memcache di batching automatico asincrono
gets(). - memcache_incr(key, delta, initial_value, namespace)
- Memcache di batching automatico asincrono
incr(). - memcache_replace(key, value, time, namespace)
- Memcache di batching automatico asincrono
replace(). - memcache_set(key, value, time, namespace, use_cache)
- Memcache di batching automatico asincrono
set(). - urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
- Recupero URL di batch automatico asincrono
fetch().
Metodi di gestione delle transazioni
- call_on_commit(callback)
- Mette in coda un callback da chiamare al termine del commit di una transazione.
Se non si trova in una transazione, il callback viene chiamato immediatamente.
In una transazione, è possibile registrare più callback che verranno chiamati una volta eseguito 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, questa viene propagata normalmente. Ciò significa che se il callback viene chiamato immediatamente, qualsiasi eccezione generata si propagherà immediatamente. Se la chiamata viene posticipata fino al commit, i callback rimanenti verranno ignorati e l'eccezione verrà visualizzata tramite la chiamata
transaction(). Tuttavia, a quel punto il commit della transazione è già stato eseguito.Argomenti
- callback
- Funzione di callback. Questa funzione di callback non accetta parametri e non restituisce nulla.
- in_transaction()
- Restituisce
Truese questo contesto rappresenta una transazione,Falsealtrimenti.
Metodi statici
- default_cache_policy(key)
- Controlla se
_use_cacheesiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisciNone. - default_datastore_policy(key)
- Controlla la presenza di una
_use_datastorevariabile di classe nella classe modello dell'entità; se presente, la restituisce. In caso contrario, restituisciNone. - default_memcache_policy(key)
- Controlla se
_use_memcacheesiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisciNone. - default_memcache_timeout_policy(key)
- Controlla se
_memcache_timeoutesiste una variabile di classe nella classe modello dell'entità; in caso affermativo, la restituisce. In caso contrario, restituisciNone.