No mundo da programação web, é muito comum observar aplicações que fazem leitura e escrita no Redis. O Redis é um banco de dados, do tipo chave/valor, com armazenamento em memória volatil(ram), ou seja, não faz escrita no disco. Portanto é uma excelente opção para escritas que precisam de velocidade, tanto de escrita quanto de consulta.
Para o teste, criei o seguinte arquivo docker-compose, com um container em redis e um container para rodar um worker em python.
para isso, precisamos instalar o modulo redis, no python.
Nota: Crie um virtual env, e dentro dele instale os modulos do redis. Dai crie um arquivo, to tipo freeze, para instala-lo em seu container sempre que for buildar.
$pip install redis
Para que isso seja impl
Segue o código para o worker:
arquivo .env
Segue o docker-file:
$docker build . -t worker:1
$docker-compose up
Entre no redis, para verificar a inserção das chaves, la dentro use o comando keys *:
$docker exec -it poc-redis_redis_1 redis-cli
Prontinho, seu redis está pronto para uso. Lembre-se que eleprecisa de uma função para deletar as chaves, ou então todos os dados ficarão permanentes na memória até o pod ser desligado.
Para isso(limpar tudo) use o comando Flushall:
Geralmente, em uso pratico, deve-se limpar o redis depois que se remove o dado para um local em armazenamento fixo, como um mysql. Ou seja, coletou uma chave e enviou para o mysql, deleta a chave. Isso vai garantir um que seu sistema tenha um uso pratico com custos menores. Posteriormente, criarei um container de consumo, um mysql-consumer com essa função.
==========================================================================
Módulos:redis, python 3.6.15
Git: [link]

Nenhum comentário:
Postar um comentário