Esta página oferece 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 a cache de memória 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 cache de memória 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.
Modificar guestbook.py para usar memcache
A aplicação Guestbook consulta o Datastore em cada pedido (através do ndb, pelo que já beneficia de 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 para a 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.