Una aplicación puede usar un Contexto para controlar su política de almacenamiento en caché.
Context
también ofrece API asíncronas convenientes para Memcache y recuperación de URL integradas en las instalaciones asíncronas de NDB; en particular, la API de Memcache admite el procesamiento por lotes automático.
- Métodos de instancias de administración de caché
- Métodos de instancias de Memcache y Urlfetch
- Métodos de administración de transacciones
- Métodos estáticos
Métodos de instancias de administración de caché
- clear_cache()
- Borra la caché en contexto.
- flush()
- Limpia todas las colas de procesamiento por lotes automático (envía su trabajo a los servidores).
La limpieza ocurre de forma asíncrona.
Muestra un objeto
Future
. Para esperar a que finalice la limpieza, llama al métodowait()
de este objeto. - get_cache_policy()
- Muestra la función de política de caché.
Esta función de política utiliza un argumento de instancia Key y muestra un
bool
, que indica si la entidad con esta clave debe almacenarse en caché en contexto. Puede serNone
(lo que significa usardefault_cache_policy
). - get_datastore_policy()
- Muestra la función de política de Datastore actual en contexto.
Esta función de política utiliza un argumento de instancia Key y muestra un
bool
, que indica si debe emplear Datastore. Puede serNone
(lo que significa usardefault_datastore_policy
). - get_memcache_policy()
- Muestra la función de política de Memcache actual.
Esta función de política utiliza un argumento de instancia Key y muestra un
bool
, que indica si debe almacenarse en caché. Puede serNone
(lo que significa usardefault_memcache_policy
). - get_memcache_timeout_policy()
- Muestra la función de política de tiempo de espera de Memcache actual.
Esta función de política utiliza un argumento de instancias Key y muestra el tiempo de espera deseado de Memcache en segundos (o muestra cero a fin de utilizar el tiempo de espera predeterminado).
Puede ser
None
, que usadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Configura la función de política de caché.
Argumentos
- func
- Esta función utiliza un argumento de instancia Key y muestra un
bool
, que indica si la entidad con esta clave debe almacenarse en caché en contexto. Puede serNone
.
- set_datastore_policy(func)
- Configura la función de política de Datastore.
Argumentos
- func
- Esta función toma un argumento de instancia Key y muestra un
bool
que indica si la entidad con esta clave debe almacenarse en el Datastore persistente. Puede serNone
.
- set_memcache_policy(func)
- Configura la función de política de Memcache.
Argumentos
- func
- Esta función utiliza un argumento de instancia Key y muestra un
bool
, que indica si la entidad con esta clave debe almacenarse en caché en contexto. Puede serNone
.
- set_memcache_timeout_policy(func)
- Configura la función de política de tiempo de espera de Memcache.
Argumentos
- func
- Esta función toma un argumento de instancia
Key
y muestra el tiempo de espera de Memcache deseado en segundos (o muestra cero para usar el tiempo de espera predeterminado). Puede serNone
.
Métodos de instancias de Memcache y Urlfetch
La lista completa de métodos se encuentra en la referencia de la API de Memcache. En la lista que se muestra a continuación, se destacan algunos de los métodos que se utilizan con mayor frecuencia:
- memcache_add(clave, valor, tiempo, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
add()
. - memcache_cas(clave, valor, tiempo, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
Client
cas()
(comparar e intercambiar). - memcache_decr(clave, delta, initial_value, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
decr()
. - memcache_delete(clave, segundos, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
delete()
. - memcache_get(clave, espacio de nombres, use_cache)
- Memcache de procesamiento por lotes automático asíncrono
get()
.Muestra un
Future
cuyo valor de retorno es el valor recuperado de Memcache oNone
. - memcache_gets(clave, espacio de nombres, use_cache)
- Memcache de procesamiento por lotes automático asíncrono
gets()
. - memcache_incr(clave, delta, initial_value, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
incr()
- memcache_replace(clave, valor, tiempo, espacio de nombres)
- Memcache de procesamiento por lotes automático asíncrono
replace()
. - memcache_set(clave, valor, tiempo, espacio de nombres, use_cache)
- Memcache de procesamiento por lotes automático asíncrono
set()
. - urlfetch(url, carga útil, método, encabezados, allow_truncated, follow_redirects, validate_certificate, plazo, devolución de llamada)
- Urlfetch de procesamiento por lotes automático asíncrono
fetch().
Métodos de administración de transacciones
- call_on_commit(devolución de llamada)
- Pone en espera una devolución de llamada para solicitar la confirmación exitosa de una transacción.
Si no está en una transacción, se realizará la devolución de llamada de inmediato.
En una transacción, se pueden registrar varias devoluciones de llamada, y se solicitarán una vez que la transacción se confirme en el orden en el cual se registraron. Si la transacción falla, no se realizarán las devoluciones de llamada.
Si una devolución de llamada genera una excepción, esta surgirá normalmente. Esto significa que, si la devolución de llamada se realiza de inmediato, cualquier excepción que produzca surgirá de inmediato. Si la llamada se pospone hasta la confirmación, las devoluciones de llamadas restantes se omitirán y la excepción surgirá a través de la llamada
transaction()
. Sin embargo, en ese momento, la transacción ya se encuentra confirmada.Argumentos
- callback
- Función de devolución de llamada. Esta función de devolución de llamada no adopta parámetros ni muestra ningún resultado.
- in_transaction()
- Muestra
True
si este contexto representa una transacción; de lo contrario,False
.
Métodos estáticos
- default_cache_policy(clave)
- Comprueba si hay una variable de clase
_use_cache
en la clase del modelo de la entidad; si la hay, la muestra. De lo contrario, muestraNone
. - default_datastore_policy(clave)
- Comprueba si hay una variable de clase
_use_datastore
en la clase del modelo de la entidad; si la hay, la muestra. De lo contrario, muestraNone
. - default_memcache_policy(clave)
- Comprueba si hay una variable de clase
_use_memcache
en la clase del modelo de la entidad; si la hay, la muestra. De lo contrario, muestraNone
. - default_memcache_timeout_policy(key)
- Comprueba si hay una variable de clase
_memcache_timeout
en la clase del modelo de la entidad; si la hay, la muestra. De lo contrario, muestraNone
.