Um aplicativo usa um Contexto para controlar a respectiva política de armazenamento em cache.
Context
também oferece APIs assíncronas convenientes para Memcache e busca de URL integradas às instalações assíncronas do NDB; em particular, a API Memcache é compatível com o agrupamento automático em lote.
- Métodos de instâncias de gerenciamento de caches
- Métodos de instância Memcache e Urlfetch
- Métodos de gerenciamento de transações
- Métodos estáticos
Métodos de Instância do gerenciamento de caches
- clear_cache()
- Limpa o cache no contexto.
- flush()
- Limpe todas as filas de loteadores automáticos, enviando o trabalho para os servidores.
A limpeza é feita de forma assíncrona.
Retorna um
Future
. Para aguardar a limpeza terminar, chame o métodowait()
deste objeto. - get_cache_policy()
- Retorna a função da política de cache.
Essa função de política usa um argumento de instância Key e retorna um
bool
indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode serNone
(ou seja, usardefault_cache_policy
). - get_datastore_policy()
- Retorna a função de política do Datastore do contexto atual.
Essa função de política usa um argumento de instância Key e retorna um
bool
indicando se ele precisa usar o Datastore. Pode serNone
(ou seja, usardefault_datastore_policy
). - get_memcache_policy()
- Retorna a função de política atual do memcache.
Essa função de política usa um argumento de instância Key e retorna um
bool
indicando se ele precisa ser armazenado em cache. Pode serNone
(ou seja, usardefault_memcache_policy
). - get_memcache_timeout_policy()
- Retorna a função de política de tempo limite atual do memcache.
Essa função de política usa um argumento de instância Key e retorna o tempo limite desejado para o memcache em segundos ou retorna zero para usar o tempo limite padrão.
Pode ser
None
, que usadefault_memcache_timeout_policy
. - set_cache_policy(func)
- Configura a função da política de cache.
Argumentos
- func
- Essa função usa um argumento de instância Key e retorna um
bool
indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode serNone
.
- set_datastore_policy(func)
- Configura a função de política do Datastore.
Argumentos
- func
- Essa função recebe um argumento de instância Key e retorna um
bool
indicando se a entidade com essa chave precisa ser armazenada no Datastore permanente. Pode serNone
.
- set_memcache_policy(func)
- Configura a função de política do memcache.
Argumentos
- func
- Essa função usa um argumento de instância Key e retorna um
bool
indicando se a entidade com essa chave precisa ser armazenada no cache em contexto. Pode serNone
.
- set_memcache_timeout_policy(func)
- Configura a função de política de tempo limite do memcache.
Argumentos
- func
- Essa função usa um argumento de instância
Key
e retorna o tempo limite pretendido do memcache em segundos ou retorna zero para usar o tempo limite padrão. Pode serNone
.
Métodos de instância do Memcache e Urlfetch
A lista completa de métodos é encontrada na referência da Memcache API. A lista abaixo destaca alguns métodos mais usados:
- memcache_add(key, value, time, namespace)
- Memcache de envio em lote automático assíncrono
add()
. - memcache_cas(key, value, time, namespace)
- Memcache de envio em lote automático assíncrono
Client
cas()
(comparar e trocar). - memcache_decr(key, delta, initial_value, namespace)
- Memcache de envio em lote automático assíncrono
decr()
. - memcache_delete(key, seconds, namespace)
- Memcache de envio em lote automático assíncrono
delete()
. - memcache_get(key, namespace, use_cache)
- Memcache de envio em lote automático assíncrono
get()
.Retorna um
Future
, que tem o valor de retorno como valor recuperado do Memcache ouNone
. - memcache_gets(key, namespace, use_cache)
- Memcache de envio em lote automático assíncrono
gets()
. - memcache_incr(key, delta, initial_value, namespace)
- Memcache de envio em lote automático assíncrono
incr()
. - memcache_replace(key, value, time, namespace)
- Memcache de envio em lote automático assíncrono
replace()
. - memcache_set(key, value, time, namespace, use_cache)
- Memcache de envio em lote automático assíncrono
set()
. - urlfetch(url, payload, method, headers, allow_truncated, follow_redirects, validate_certificate, deadline, callback)
- urlfetch de envio em lote automático assíncrono
fetch().
Métodos de gerenciamento de transações
- call_on_commit(callback)
- Forma filas de callback a serem realizados após efetuar a confirmação de uma transação.
O retorno de chamada é feito imediatamente caso não esteja em uma transação.
Em uma transação, diversos retornos de chamada são registrados e serão realizados assim que a transação executar o commit na ordem de registro em que estiverem registrados. Em caso de falha na transação, os retornos de chamada não serão realizados.
Se um retorno de chamada gerar uma exceção, ela aparecerá normalmente. Isso significa que, se o retorno de chamada for realizado imediatamente, qualquer exceção levantada também aparecerá imediatamente. Se a chamada for adiada até a confirmação, os callbacks restantes serão ignorados e a exceção aparecerá na chamada
transaction()
. No entanto, nesse ponto a transação já terá executado o commit.Argumentos
- callback
- Função de callback. Esta função não aceita parâmetros e não retorna nada.
- in_transaction()
- Retorna
True
se este contexto representar uma transação. Caso contrário, retornaráFalse
.
Métodos estáticos
- default_cache_policy(key)
- Verifica uma variável de classe
_use_cache
na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retornaNone
. - default_datastore_policy(key)
- Verifica uma variável de classe
_use_datastore
na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retornaNone
. - default_memcache_policy(key)
- Verifica uma variável de classe
_use_memcache
na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retornaNone
. - default_memcache_timeout_policy(key)
- Verifica uma variável de classe
_memcache_timeout
na classe de modelo da entidade. Se houver, será retornada. Caso contrário, retornaNone
.