Otimizando sites com o     NoSQL Redis   Allisson Azevedo – V Ensol   allisson arroba gmail.com      twitter.com/allisson ...
Allisson Azevedo➔   Graduação no curso de Licenciatura em    Computação – UEPB➔   Desenvolvedor web    ➔   Django|Tornado|...
Redis➔   Código Aberto – Licença BSD    ➔   Salvatore Sanfilippo (antirez) (2009)    ➔   2.2.11    ➔   http://github.com/a...
http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf
Redis➔   Persistência em disco➔   Replicação mestre-escravo➔   Cluster (redis 3.0?)
Instalação➔   Dependências    ➔   sudo apt-get install build-essential    ➔   yum install gcc make➔   tar xvzf redis-2.2.1...
Persistência➔   Snapshotting    ➔   Padrão    ➔   Cópia dos dados em disco de forma periódica    ➔   save x y: Depois de x...
Persistência➔   Append-only file    ➔   Desde a versão 1.1    ➔   Evita possíveis perdas de dados do        snapshotting  ...
Databases➔   Suporte a múltiplos databases➔   0 – 15➔   0 é o padrão
Estruturas de dados➔   Strings    ➔   Qualquer tipo de dado, inclusive binários
Estruturas de dados➔   Lists    ➔   Uma lista de strings    ➔   Acesso rápido nas pontas    ➔   Não tão rápido no acesso a...
Estruturas de dados➔   Sets    ➔   Uma coleção de strings não ordenadas    ➔   Não permite elementos repetidos    ➔   Perm...
Estruturas de dados➔   Sorted Sets    ➔   Sets ordenados por um score
Estruturas de dados➔   Hashes    ➔   Permite armazenar vários valores em uma        chave
Usos➔   Task/Job Queues    ➔   Resque (Ruby)        –   http://github.com/blog/542-introducing-resque    ➔   Celery (Pytho...
Usos➔   Estatísticas de downloads
Usos➔   Limitar uso de api
Usos➔   Banners aleatórios
Usos➔   Categorias/Tags
Usos➔   Categorias/Tags    ➔   Artigos relacionados        ➔   Tag1 AND Tag2 → SINTER        ➔   Tag1 OR Tag2 → SUNION
Usos➔   Session store    ➔   Django-redis-session (Django)        –   http://bitbucket.org/dpaccoud/django-redis-         ...
Usos➔   Feed/Timeline
Usos➔   Sugestões de amigos
Usos➔   Wiki locking
Dúvidas?
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Otimizando sites com o nosql redis
Upcoming SlideShare
Loading in...5
×

Otimizando sites com o nosql redis

4,121

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,121
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
23
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Otimizando sites com o nosql redis

  1. 1. Otimizando sites com o NoSQL Redis Allisson Azevedo – V Ensol allisson arroba gmail.com twitter.com/allisson slideshare.net/allisson
  2. 2. Allisson Azevedo➔ Graduação no curso de Licenciatura em Computação – UEPB➔ Desenvolvedor web ➔ Django|Tornado|Rails|NodeJS ➔ MySQL|PostgreSQL ➔ MongoDB|Redis➔ Arquiteturas escaláveis
  3. 3. Redis➔ Código Aberto – Licença BSD ➔ Salvatore Sanfilippo (antirez) (2009) ➔ 2.2.11 ➔ http://github.com/antirez/redis ➔ Escrito em C (padrão C99) ➔ http://redis.io/➔ Banco de dados chave-valor avançado➔ Dados em memória ➔ http://www.infoq.com/news/2008/06/ram-is-disk
  4. 4. http://s3.amazonaws.com/four.livejournal/20091117/jsconf.pdf
  5. 5. Redis➔ Persistência em disco➔ Replicação mestre-escravo➔ Cluster (redis 3.0?)
  6. 6. Instalação➔ Dependências ➔ sudo apt-get install build-essential ➔ yum install gcc make➔ tar xvzf redis-2.2.11.tar.gz➔ cd redis-2.2.11/➔ make➔ make test (opcional, necessita do tcl8.5 instalado)➔ src/redis-server
  7. 7. Persistência➔ Snapshotting ➔ Padrão ➔ Cópia dos dados em disco de forma periódica ➔ save x y: Depois de x segundos, salve se ao menos y chaves forem modificadas ➔ save 900 1 ➔ Como a cópia é periódica, dados podem ser perdidos durante um crash
  8. 8. Persistência➔ Append-only file ➔ Desde a versão 1.1 ➔ Evita possíveis perdas de dados do snapshotting ➔ BGREWRITEAOF
  9. 9. Databases➔ Suporte a múltiplos databases➔ 0 – 15➔ 0 é o padrão
  10. 10. Estruturas de dados➔ Strings ➔ Qualquer tipo de dado, inclusive binários
  11. 11. Estruturas de dados➔ Lists ➔ Uma lista de strings ➔ Acesso rápido nas pontas ➔ Não tão rápido no acesso aleatório
  12. 12. Estruturas de dados➔ Sets ➔ Uma coleção de strings não ordenadas ➔ Não permite elementos repetidos ➔ Permite operações de união, diferença e intercessão
  13. 13. Estruturas de dados➔ Sorted Sets ➔ Sets ordenados por um score
  14. 14. Estruturas de dados➔ Hashes ➔ Permite armazenar vários valores em uma chave
  15. 15. Usos➔ Task/Job Queues ➔ Resque (Ruby) – http://github.com/blog/542-introducing-resque ➔ Celery (Python) – http://celeryproject.org/
  16. 16. Usos➔ Estatísticas de downloads
  17. 17. Usos➔ Limitar uso de api
  18. 18. Usos➔ Banners aleatórios
  19. 19. Usos➔ Categorias/Tags
  20. 20. Usos➔ Categorias/Tags ➔ Artigos relacionados ➔ Tag1 AND Tag2 → SINTER ➔ Tag1 OR Tag2 → SUNION
  21. 21. Usos➔ Session store ➔ Django-redis-session (Django) – http://bitbucket.org/dpaccoud/django-redis- sessions/overview ➔ Redis-session-store (Rails) – http://github.com/mattmatt/redis-session-store
  22. 22. Usos➔ Feed/Timeline
  23. 23. Usos➔ Sugestões de amigos
  24. 24. Usos➔ Wiki locking
  25. 25. Dúvidas?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×