Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Otimizando sites com o nosql redis

Otimizando sites com o nosql redis

Palestra ministrada no V Ensol

Allisson Azevedo

November 02, 2011
Tweet

More Decks by Allisson Azevedo

Other Decks in Technology

Transcript

  1. Otimizando sites com o NoSQL Redis Allisson Azevedo – V

    Ensol allisson arroba gmail.com twitter.com/allisson slideshare.net/allisson
  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. 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. 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
  5. 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
  6. Persistência ➔ Append-only file ➔ Desde a versão 1.1 ➔

    Evita possíveis perdas de dados do snapshotting ➔ BGREWRITEAOF
  7. Estruturas de dados ➔ Lists ➔ Uma lista de strings

    ➔ Acesso rápido nas pontas ➔ Não tão rápido no acesso aleatório
  8. 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
  9. 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