Uma aplicação pode usar um Context para controlar a respetiva política de colocação em cache.
Context
também oferece APIs assíncronas convenientes para
Memcache e obtenção de URLs integrados nas funcionalidades assíncronas do NDB;
em particular, a API Memcache suporta o processamento em lote automático.
- Métodos de instância de gestão de cache
- Métodos de instância de cache de memória e Urlfetch
- Métodos de gestão de transações
- Métodos estáticos
Métodos de instância de gestão de cache
- clear_cache()
- Limpa a cache no contexto.
- flush()
- Limpar todas as filas do processador de lotes automático (enviando o respetivo trabalho para os servidores).
A descarga ocorre de forma assíncrona.
Devolve um
Future
. Para aguardar a conclusão da descarga, chame o métodowait()
deste objeto. - get_cache_policy()
- Devolve a função da política de cache.
Esta função de política usa um argumento de instância Key
e devolve
um
bool
que indica se a entidade com esta chave deve ser colocada em cache na cache no contexto. Pode serNone
(o que significa usardefault_cache_policy
). - get_datastore_policy()
- Devolve a função da política da base de dados atual do contexto.
Esta função de política seleciona um argumento de instância Key
e devolve
um
bool
que indica se deve usar o Datastore. Pode serNone
(o que significa usardefault_datastore_policy
). - get_memcache_policy()
- Devolve a função da política de memcache atual.
Esta função de política usa um argumento de instância Key e devolve um
bool
que indica se deve ser colocado em cache. Pode serNone
(o que significa usardefault_memcache_policy
). - get_memcache_timeout_policy()
- Devolve a função da política de tempo limite da cache de memória atual.
Esta função de política usa um argumento de instância Key
e devolve
o limite de tempo da cache de memória pretendido em segundos (ou devolve
zero para usar o limite de tempo predefinido).
Pode ser
None
, que usadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Define a função da política de cache.
Argumentos
- func
- Esta função recebe um argumento de instância de Key e devolve um
bool
que indica se a entidade com esta chave deve ser colocada em cache na cache no contexto. Pode serNone
.
- set_datastore_policy(func)
- Define a função da política do Datastore.
Argumentos
- func
- Esta função recebe um argumento de instância de Key e devolve um
bool
que indica se a entidade com esta chave deve ser armazenada no Datastore persistente. Pode serNone
.
- set_memcache_policy(func)
- Define a função da política de memcache.
Argumentos
- func
- Esta função recebe um argumento de instância de Key e devolve um
bool
que indica se a entidade com esta chave deve ser colocada em cache na cache no contexto. Pode serNone
.
- set_memcache_timeout_policy(func)
- Define a função de política de tempo limite da memcache.
Argumentos
- func
- Esta função seleciona um argumento de instância e devolve o limite de tempo da cache de memória pretendido em segundos (ou devolve zero para usar o limite de tempo predefinido).
Key
Pode serNone
.
Métodos de instância do Memcache e Urlfetch
Pode encontrar a lista completa de métodos na referência da API Memcache. A lista abaixo realça alguns dos métodos usados com mais frequência:
- memcache_add(key, value, time, namespace)
- Memcache de processamento em lote automático assíncrono
add()
. - memcache_cas(key, value, time, namespace)
- Cache de memória de processamento em lote automático assíncrono
Client
cas()
(comparar e trocar). - memcache_decr(key, delta, initial_value, namespace)
- Memcache de processamento em lote automático assíncrono
decr()
. - memcache_delete(key, seconds, namespace)
- Memcache de processamento em lote automático assíncrono
delete()
. - memcache_get(key, namespace, use_cache)
- Memcache de processamento em lote automático assíncrono
get()
.Devolve um
Future
cujo valor devolvido é o valor obtido a partir da cache de memória ouNone
. - memcache_gets(key, namespace, use_cache)
- Memcache de processamento em lote automático assíncrono
gets()
. - memcache_incr(key, delta, initial_value, namespace)
- Memcache de processamento em lote automático assíncrono
incr()
. - memcache_replace(key, value, time, namespace)
- Memcache de processamento em lote automático assíncrono
replace()
. - memcache_set(key, value, time, namespace, use_cache)
- Memcache de processamento em lote automático assíncrono
set()
. - urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
- URLfetch de processamento em lote automático assíncrono
fetch().
Métodos de gestão de transações
- call_on_commit(callback)
- Coloca em fila uma chamada de retorno para chamar após a confirmação bem-sucedida de uma transação.
Se não estiver numa transação, a chamada de retorno é feita imediatamente.
Numa transação, podem ser registadas várias chamadas de retorno, que são chamadas assim que a transação for confirmada, pela ordem em que foram registadas. Se a transação falhar, as chamadas de retorno não são chamadas.
Se um callback gerar uma exceção, esta é apresentada normalmente. Isto significa que, se a função de retorno de chamada for chamada imediatamente, qualquer exceção que gerar é apresentada imediatamente. Se a chamada for adiada até à confirmação, as restantes chamadas de retorno são ignoradas e a exceção é apresentada através da chamada
transaction()
. (No entanto, a transação já está confirmada nesse momento.)Argumentos
- callback
- Função de chamada de retorno. Esta função de chamada de retorno não usa parâmetros e não devolve nada.
- in_transaction()
- Devolve
True
se este Contexto representar uma transação. Caso contrário, devolveFalse
.
Métodos estáticos
- default_cache_policy(key)
- Verifica se existe uma variável de classe na classe do modelo da entidade. Se existir, devolve-a.
_use_cache
Caso contrário, devolvaNone
. - default_datastore_policy(key)
- Verifica se existe uma variável de classe na classe do modelo da entidade. Se existir, devolve-a.
_use_datastore
Caso contrário, devolvaNone
. - default_memcache_policy(key)
- Verifica se existe uma variável de classe na classe do modelo da entidade. Se existir, devolve-a.
_use_memcache
Caso contrário, devolvaNone
. - default_memcache_timeout_policy(key)
- Verifica se existe uma variável de classe na classe do modelo da entidade. Se existir, devolve-a.
_memcache_timeout
Caso contrário, devolvaNone
.