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

Rails Cache

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

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.

Avatar for Cleiton Francisco

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