Intro ao REDIS

Remote Dictionary Server


Redis é uma estrutura de armazenamento de dados
em memória que pode ser usado como:


  • Banco de dados
  • Cache
  • Message broker

POR QUE USÁ-LO?



  • ALTA PERFORMANCE
  • ALTA DISPONIBILIDADE
  • SUPORTE A DADOS ESTRUTURADOS
  • BAIXÍSSIMO CONSUMO DE RECURSO

QUEM USA?




Instagram


Problema: Mapear o id de 300 milhões de fotos e caber em um EC2 de 17GB


Com redis usando GET/SET: 21GB


Com redis tunado usando Hashes: 5GB


TIPO DE DADOS

String


redis> set chave valor


redis> get chave


redis> valor


redis> set token merchantCheckoutId


redis> get token


MerchantCheckoutId


Hashes


redis> hset cesarnobre nome "César"


redis> hmset cesarnobre email "cesarnobrefilho@gmail.com" password "arroz"


redis> hget cesarnobre name


redis> "César"


redis> hkeys cesarnobre


1. nome


2. email


3. password


redis> hvals cesarnobre


1. "César"


2. "cesarnobrefilho@gmail.com"


3. "arroz"

OU SEJA:

                        {
                            [
                                "cesarnobre" : {
                                    "nome" : "César",
                                    "email" : "cesarnobrefilho@gmail.com",
                                    "password" : "arroz"
                                },
                            ]
                        }
                        

Listas

redis> rpush arroz parborizado


redis> rpush arroz normal


redis> rpush arroz italiano


redis> lrange arroz 0 2


1. paborizado


2. normal


3. italiano


redis> lrange arroz 0 1


1. paborizado


2. normal


Sets

redis> sadd users "cesar"


redis> sadd users "edneia"


redis> sadd users "cassio"


redis> smembers users


1. "cassio"


2. "edneia"


3. "cesar"


redis> sadd admins "cassio"


redis> sinter users admins


1. "cassio"


redis> sunion users admins


1. "cassio"


2. "edneia"


3. "cesar"


redis> sdiff users admins


2. "edneia"


3. "cesar"


Message Broker



plataforma intermediária para comunicação entre aplicações.


Alta Disponibilidade

SENTINELAS!


  • Monitora

  • Notifica

  • Failover Automático

  • Provedor de Configurações

-