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

Rails Cache

Rails Cache

Apresentação do GuruPI de Outubro de 2014 sobre as estratégias de cache do Rails e as principais mudanças no Rails 4. Russian Doll Caching e Identity Caching também foram abordados.

Cleiton Francisco

November 01, 2014
Tweet

More Decks by Cleiton Francisco

Other Decks in Programming

Transcript

  1. • Nível de protocolo • Estratégia mais complexa e mais

    poderosa • Usa uma combinação de cabeçalhos e códigos de resposta para gerenciar o fluxo de requisição • Métodos: stale?, fresh_when, expires_in • Parâmetros: etag, last_modified, public HTTP Caching
  2. Page Caching • Usa arquivos (armazenados em /public) para retornar

    a página inteira • Não é tão útil quanto o HTTP Caching • Removido a partir do Rails 4 (disponível como gem) • Métodos: caches_page, expires_page
  3. Action Caching • Age especificamente numa action do controller •

    Permite um nível de exploração maior que o Page Caching • Removido a partir do Rails 4 (disponível como gem) • Métodos: caches_action, cache_path
  4. Fragment Caching • Faz o cache de fragmentos HTML renderizados

    • Utiliza blocos de códigos para determinar que trecho HTML renderizado será armazenado no Cache • No Rails 4 utiliza um digest auto gerenciável para versionar e permite nested cache (gem cache_digest para Rails 3)
  5. Russian doll Caching • Facilita o uso de caches aninhados

    (nested caches) • Ao alterar o código dentro de um bloco cacheado de nível mais interno irá expirar não apenas o cache desse bloco como também os que estão em níveis superiores
  6. Identity Caching • Consiste em armazenar no cache o objeto

    do ActiveRecord • Ao invés de receber as informações do banco de dados você utiliza o objeto armazenado no cache • Ajuda na composição dos outros tipos de cache • gem identity_cache