Redis é um banco de dados não relacional, também conhecido por NOSQL. Redis significa REmote DIctionary Server.
Os dados são armazenados na forma de chave-valor, assim como estruturas encontradas em linguagens de programação, por exemplo, o Map do Java.
O Redis é extremamente rápido, tanto para escrita como para leitura dos dados, graças ao fato de armazenar seus dados em memória. Apesar disso, o Redis permite que os dados sejam persistidos fisicamente caso desejado.
Baseado nessas características, o Redis é uma boa opção para cenários que você precisa de alta performance para gravação e/ou leitura de dados baseado em chave-valor, sendo ele muito utilizado para servir como um servidor de cache para a aplicação, pois além de tudo, ele ainda permite que uma chave expire após um determinado período, dessa forma pode ser utilizado para gerenciar sessões de usuário.
Iniciar um container docker com o Redis:
docker run -d --name redis -p 6379:6379 redis:5.0.3
Acessar o Redis do container:
docker exec -it redis redis-cli
Inserir um valor:
SET chave valor
Listar todos os valores:
KEYS *
Acessar um valor:
GET chave
Deletar um valor:
DEL chave
Lista de comandos do Redis: https://redis.io/commands
Testar a aplicação com o Redis...
Abrir o curl no windows:
C:\Program Files\Git\mingw64\bin\
Testar o CRUD pelo curl:
Listar:
curl -s http://localhost:8080/pessoa
Buscar por id:
curl -s http://localhost:8080/pessoa/1
Adicionar:
curl -s -X POST http://localhost:8080/pessoa -H "Content-Type: application/json" -d "{\"id\": 1, \"nome\":\"Alex\"}"
Alterar:
curl -s -X PUT http://localhost:8080/pessoa -H "Content-Type: application/json" -d "{\"id\": 1, \"nome\":\"Alex Melo\"}"
Deletar:
curl -s -X DELETE http://localhost:8080/pessoa/1
- https://emmanuelneri.com.br/2019/04/30/cache-distribuido-com-redis-no-spring-boot/
- http://desenvolvedor.ninja/redis-o-que-e-e-para-que-serve/
- https://imasters.com.br/banco-de-dados/introducao-ao-redis-o-nosql-chave-valor-mais-famoso
- https://docs.spring.io/spring/docs/current/spring-framework-reference/integration.html#cache