Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REDIS PARA INICIANTES
Wednesday, August 6, 14
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
OBJETIVO DE HOJE
Mostrar em 15 minutos o que você pode fazer com
...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
QUEM USA ESTE TAL DE
REDIS?
Será mais um projeto obscuro do mundo...
Wednesday, August 6, 14
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Como instalar e
rodar o REDIS?
Site Oficial: http://redis.io/
$ w...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REmote DIctionary
Server
•Sistema de par chave / valor
•Dados em ...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Chave
string
Ex: 5, _key, key
Valor
string
int
float
list
set
sor...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
string “um texto”
int 4
float 2,3
list [1, 2, “a”, 2, “texto”]
se...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Além de gravar e ler valores, é
possível manipular os dados
inter...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Outros diferenciais
•Persistência em disco (failback)
•Pipelining...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
LEGAL, MAS COMO USO ISTO
NO MEU SISTEMA?
Wednesday, August 6, 14
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Cache
REDIS pode ser usado como um
cache de dados e conteúdo, no
...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Gerenciamento de
sessão
Um dicionário (hash) armazena os
vários c...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Tabela de
classificação
Uso de conjunto ordenado (SORTED
SET) per...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Filas
(mensagens, task, ...)
Filas são um elemento constante em
q...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Base de dados
Bibliotecas de ODM (Object Data
Mapper) implementam...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Pub / Sub
Implementação pronta de PubSubHub:
consumidores podem a...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Invente a sua...
Uma combinação apropriada de nome
de chave e de ...
Miguel Galves | @mgalves Redis para iniciantes | TDC214
E COMO REDIS É USADO
NO “MUNDO REAL” ?
Como foi mostrado anteriorm...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REDIS é utilizado como cache web
560MM de pageviews / mês
54 site...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REDIS utilizado para armazenar a
homeline dos usuários, em listas...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
Gestão de configurações de
deploy.
Roteamento de requests:
mapeam...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REDIS utilizado como indice
complementar ao MySQL,
tornando busca...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
REDIS é utilizado para
armazenamento do grafo social
de usuários....
Miguel Galves | @mgalves Redis para iniciantes | TDC214
E COM QUEM REDIS CONVERSA?
Consigo integrar REDIS no meu projeto?
...
Todas esta linguagens possuem bibliotecas e drivers
Thursday, July 24, 14
Todas estas linguagem possuem libs e drivers par...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
EM RESUMO
Ferramenta madura e com comunidade ativa
Testada e apro...
Miguel Galves | @mgalves Redis para iniciantes | TDC2014
obrigado ;)
@mgalves
mgalves@gmail.com
http://github.com/mgalves/...
Próximos SlideShares
Carregando em…5
×

Redis para iniciantes - TDC 2014

1.105 visualizações

Publicada em

Palestra "REDIS para iniciantes", apresentada na trilha NoSQL do TDC 2014 em São Paulo (06/08/2014(.

Publicada em: Software
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.105
No SlideShare
0
A partir de incorporações
0
Número de incorporações
21
Ações
Compartilhamentos
0
Downloads
34
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Redis para iniciantes - TDC 2014

  1. 1. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REDIS PARA INICIANTES Wednesday, August 6, 14
  2. 2. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 OBJETIVO DE HOJE Mostrar em 15 minutos o que você pode fazer com o REDIS e porque ele vai ser imprescindível a partir de hoje nos seus projetos. Wednesday, August 6, 14
  3. 3. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 QUEM USA ESTE TAL DE REDIS? Será mais um projeto obscuro do mundo do Software Livre utilizado por meia duzia de geeks? Wednesday, August 6, 14
  4. 4. Wednesday, August 6, 14
  5. 5. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Como instalar e rodar o REDIS? Site Oficial: http://redis.io/ $ wget http://download.redis.io/releases/redis-2.8.13.tar.gz $ tar xzf redis-2.8.13.tar.gz $ cd redis-2.8.13 $ make Servidor $ src/redis-server Cliente $ src/redis-cli redis> set foo bar OK redis> get foo "bar" Wednesday, August 6, 14
  6. 6. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REmote DIctionary Server •Sistema de par chave / valor •Dados em memória •Arquitetura Cliente / Servidor •Escrito em C •Open Source •https://github.com/antirez/redis Wednesday, August 6, 14
  7. 7. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Chave string Ex: 5, _key, key Valor string int float list set sorted set hash Wednesday, August 6, 14
  8. 8. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 string “um texto” int 4 float 2,3 list [1, 2, “a”, 2, “texto”] set (1, 2, “a”, “texto”) sortedset [(1, 2), (2, 4), (“a”, 5), (“texto”, 20)] nome Miguel idade 34 sexo Masculino hash Wednesday, August 6, 14
  9. 9. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Além de gravar e ler valores, é possível manipular os dados internamente. Exemplos: •modificar string •incrementar / decrementar números •operações binárias •operações com estruturas de dados http://redis.io/commands/ Wednesday, August 6, 14
  10. 10. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Outros diferenciais •Persistência em disco (failback) •Pipelining •Transações •Replicação Master / Slave •Scripting com Lua •Clustering (em versão beta) Wednesday, August 6, 14
  11. 11. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 LEGAL, MAS COMO USO ISTO NO MEU SISTEMA? Wednesday, August 6, 14
  12. 12. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Cache REDIS pode ser usado como um cache de dados e conteúdo, no estilo Memcached. Wednesday, August 6, 14
  13. 13. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Gerenciamento de sessão Um dicionário (hash) armazena os vários campos da sessão, e a chave de acesso é o ID da sessão. A função EXPIRE permite que sessões sejam automaticamente invalidadas após um período (timeout). Wednesday, August 6, 14
  14. 14. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Tabela de classificação Uso de conjunto ordenado (SORTED SET) permite manter, atualizar e consultar tabelas de classificação em tempo real. Muito útil para jogos. Wednesday, August 6, 14
  15. 15. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Filas (mensagens, task, ...) Filas são um elemento constante em qualquer programa. A primitiva LIST oferece todas as funcionalidades, incluindo operações bloqueantes, úteis para implementação de filas de mensagens e tarefas. Wednesday, August 6, 14
  16. 16. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Base de dados Bibliotecas de ODM (Object Data Mapper) implementam funcionalidades de mapemento de objetos em “tabelas”, indexação, busca típicas de SGBD. Importante saber das limitações e usar com parcimônia. https://github.com/mgalves/redisco Wednesday, August 6, 14
  17. 17. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Pub / Sub Implementação pronta de PubSubHub: consumidores podem assinar canais de conteúdo, e produtores podem publicar conteúdos em canais. Wednesday, August 6, 14
  18. 18. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Invente a sua... Uma combinação apropriada de nome de chave e de estruturas de dados permitem uma infinidade de possibilidades. Invente a sua! Wednesday, August 6, 14
  19. 19. Miguel Galves | @mgalves Redis para iniciantes | TDC214 E COMO REDIS É USADO NO “MUNDO REAL” ? Como foi mostrado anteriormente, empresas famosas usam REDIS. Vamos dar uma espiadinha? Wednesday, August 6, 14
  20. 20. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REDIS é utilizado como cache web 560MM de pageviews / mês 54 site no mundo 40MM de respostas 25 servidores Wednesday, August 6, 14
  21. 21. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REDIS utilizado para armazenar a homeline dos usuários, em listas com tamanho máximo de 800 elementos. 30 bilhões de updates por dia 400.000.000 de tweets por dia 5000 tweets por segundo Wednesday, August 6, 14
  22. 22. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 Gestão de configurações de deploy. Roteamento de requests: mapeamento de servidores associados a usuários. 3,5 milhões de usuários 6 milhões de repositórios Wednesday, August 6, 14
  23. 23. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REDIS utilizado como indice complementar ao MySQL, tornando buscas mais rápidas e reduzindo a carga sobre base de dados. Além disso, usa sistema de PubSub para notificações de eventos em tempo real. 1.6 milhões de uploads por dia 92 milhões de usuários Wednesday, August 6, 14
  24. 24. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 REDIS é utilizado para armazenamento do grafo social de usuários. 70MM de usuários 53MM de acessos únicos / mês Média de 67 followers por usuário Wednesday, August 6, 14
  25. 25. Miguel Galves | @mgalves Redis para iniciantes | TDC214 E COM QUEM REDIS CONVERSA? Consigo integrar REDIS no meu projeto? Eu uso a linguagem X... Wednesday, August 6, 14
  26. 26. Todas esta linguagens possuem bibliotecas e drivers Thursday, July 24, 14 Todas estas linguagem possuem libs e drivers para REDIS Wednesday, August 6, 14
  27. 27. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 EM RESUMO Ferramenta madura e com comunidade ativa Testada e aprovada em grande escala no mundo real Rápida, eficiente e extremamente versátil Simplifica seu stack, substituindo uma série de outras ferramentas Wednesday, August 6, 14
  28. 28. Miguel Galves | @mgalves Redis para iniciantes | TDC2014 obrigado ;) @mgalves mgalves@gmail.com http://github.com/mgalves/ http://br.linkedin.com/in/mgalves Me livrei da minha conta no facebook. Wednesday, August 6, 14

×