Esta página fornece exemplos de código Python para usar o memcache. O Memcache é um sistema de colocação em cache de objetos de memória distribuída de alto desempenho que oferece acesso rápido a dados em cache. Para saber mais sobre a memcache, leia a vista geral da memcache.
O padrão de cache de memória
Normalmente, o Memcache é usado com o seguinte padrão:
- A aplicação recebe uma consulta do utilizador ou da aplicação.
- A aplicação verifica se os dados necessários para satisfazer essa consulta estão na cache de memória.
- Se os dados estiverem na memcache, a aplicação usa esses dados.
- Se os dados não estiverem na memcache, a aplicação consulta o Datastore e armazena os resultados na memcache para pedidos futuros.
O pseudocódigo abaixo representa um pedido típico de memcache:
O ndb usa internamente o memcache para acelerar as consultas. No entanto, se quiser, também pode adicionar explicitamente chamadas de memcache para ter mais controlo sobre os aumentos de velocidade.
Colocar dados em cache
O exemplo seguinte demonstra várias formas de definir valores na memcache através da API Python.
Para saber mais acerca dos métodos add(), set_multi() e set(), consulte a
documentação da API Python memcache.
A modificar guestbook.py para usar a cache de memória
A aplicação Guestbook consulta o Datastore em cada pedido (através do ndb, pelo que já ganha algumas das melhorias de velocidade da memcache). Pode modificar a aplicação Guestbook para usar a memcache explicitamente antes de recorrer à consulta do Datastore.
Primeiro, vamos importar o módulo memcache e criar o método que verifica o memcache antes de executar uma consulta.
Em seguida, vamos separar a consulta e a criação do HTML da página. Quando não atingimos a cache, chamamos este método para consultar o Datastore e criar a string HTML que vamos armazenar na memcache.
Por fim, vamos atualizar o controlador MainPage para chamar o método get_greetings() e apresentar algumas estatísticas sobre o número de vezes que a cache foi acedida ou não.