Bancos de dados relacionais são a base da maioria dos aplicativos. Mas quando se trata de escalabilidade e latência baixa, não há muito o que fazer para melhorar a performance. Mesmo que você adicione réplicas para escalar leituras, existe um limite físico imposto pelo armazenamento baseado em disco. A estratégia mais eficaz para lidar com esse limite é complementar bancos de dados baseados em disco com cache de memória.
Neste tutorial, você saberá como otimizar a performance de aplicativos adicionando uma camada de cache de memória no banco de dados relacional. Você implementará uma estratégia de cache usando o Amazon ElastiCache for Redis sobre um banco de dados MySQL. A estratégia de cache é uma das opções mais conhecidas para otimizar a performance do banco de dados. Quando um aplicativo precisa ler dados de um banco de dados, primeiro ele consulta o cache. Se não encontrar dados, o aplicativo consultará o banco de dados e preencherá o cache com o resultado. Há diversas formas de invalidar o cache se os registros relevantes são modificados no banco de dados subjacente, mas neste tutorial usaremos o recurso de expiração Time To Live (TTL - vida útil) fornecido pelo Redis.
O nó ElastiCache for Redis e o banco de dados MySQL criados neste tutorial estão qualificados para o nível gratuito da AWS.

Tempo: 120 minutos
Custo: qualificado para o nível gratuito
Caso de uso: cache, escalabilidade, alta disponibilidade, aplicativo em tempo real
Produtos: Amazon ElastiCache for Redis, Amazon RDS MySQL, Nível gratuito da AWS
Público: desenvolvedores
Nível: iniciantes a intermediário
Última atualização: 25 de julho de 2019
*Esta estimativa presume que você siga as configurações recomendadas em todo o tutorial e encerre todos os recursos em até 2 horas.
**Pode ser que as contas criadas nas últimas 24 horas ainda não tenham acesso aos recursos exigidos para este projeto.
Aloque 20 minutos para concluir a seção de pré-requisito.
Este tutorial ilustra alguns mecanismos com exemplos escritos em Python para ilustrar algumas técnicas de cache. Esperamos que seja fácil traduzir o código para o idioma da sua preferência.
Para concluir este tutorial, você precisa acessar uma instância do EC2. Se você ainda não tiver uma em execução, siga estas instruções para provisioná-la.
Depois de obter acesso à instância do EC2, execute os seguintes comandos:
$ sudo yum install git -y $ sudo yum install mysql -y $ sudo yum install python3 -y $ pip3 install --user virtualenv $ git clone https://github.com/aws-samples/amazon-elasticache-samples/ $ cd amazon-elasticache-samples/database-caching $ virtualenv venv $ source ./venv/bin/activate $ pip3 install -r requirements.txt
Agora está tudo pronto para começar o tutorial.