Exemplos do Memcache

Nesta página, fornecemos exemplos de código em Java para usar a Código Python para usar o Memcache. Memcache é um sistema de armazenamento em cache de objetos de memória distribuída de alto desempenho que fornece acesso rápido aos dados armazenados em cache. Para saber mais sobre o Memcache, leia a Visão geral do Memcache.

O padrão do Memcache

O Memcache costuma ser usado com o seguinte padrão:

  • O aplicativo recebe uma consulta do usuário ou do aplicativo.
  • O aplicativo verifica se os dados que precisam atender a essa consulta estão no Memcache.
    • Se os dados estiverem no Memcache, o aplicativo os usará.
    • Se os dados não estiverem no Memcache, o aplicativo consultará o armazenamento de dados e armazenará os resultados no Memcache para solicitações futuras.

O pseudocódigo abaixo representa uma solicitação de Memcache típica:

def get_data():
    data = memcache.get('key')
    if data is not None:
        return data
    else:
        data = query_for_data()
        memcache.add('key', data, 60)
    return data

ndb usa o Memcache internamente para agilizar consultas. No entanto, se quiser, você também poderá adicionar explicitamente as chamadas do Memcache para mais controle sobre as agilizações.

Como armazenar dados em cache

O exemplo a seguir demonstra várias maneiras de definir valores no Memcache usando a API Python.

# Add a value if it doesn't exist in the cache
# with a cache expiration of 1 hour.
memcache.add(key="weather_USA_98105", value="raining", time=3600)

# Set several values, overwriting any existing values for these keys.
memcache.set_multi(
    {"USA_98115": "cloudy", "USA_94105": "foggy", "USA_94043": "sunny"},
    key_prefix="weather_",
    time=3600
)

# Atomically increment an integer value.
memcache.set(key="counter", value=0)
memcache.incr("counter")
memcache.incr("counter")
memcache.incr("counter")

Para saber mais sobre os métodos add(), set_multi() e set(), consulte a documentação do Memcache da API Python.