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
boolque 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
boolque 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
boolque 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
boolque 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
boolque 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
boolque 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).
KeyPode 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
Clientcas()(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
Futurecujo 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
Truese 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_cacheCaso 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_datastoreCaso 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_memcacheCaso 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_timeoutCaso contrário, devolvaNone.