Intro ao REDIS – QUEM USA? – TIPO DE DADOS



Intro ao REDIS – QUEM USA? – TIPO DE DADOS

0 0


redis-workshop

http://cesarnobre.github.io/redis-workshop/

On Github CesarNobre / redis-workshop

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