Freelancers BR

Encontre dicas, tutorias e empregos

Rails page_cache_directory

O Rails oferece algumas formas de cache, sem dúvida a mais eficiente é o Cache de Página (page cache). Com o cache de página é gerado uma página html estática, assim não são necessárias consultas no banco e nem renderizações de views, tornando o carregamento extremamente rápido.
Você pode encontrar uma série de tutoriais sobre como implementar page cache no rails, recomendo esse:
http://railsenvy.com/2007/2/28/rails-caching-tutorial
Existe a possibilidade de mudar o diretório aonde o Rails armazenará as páginas estáticas (em cache), você pode alterar o arquivo /config/environments/development.rb e acrescentar

config.action_controller.page_cache_directory = RAILS_ROOT + "/public/cache/"

lembrando que perform_caching deve ser true

config.action_controller.perform_caching             = true

Teoricamente o Rails deve armazenar agora as páginas estáticas dentro de public/cache. Para que o servidor de aplicação (no caso o Passenger) possa “encontrar” a página armazenada, é necessário reescrever a url para a pasta cache.
Vamos supor que estamos fazendo cache da home. No arquivo public/.htaccess acrescente

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} "/"
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{DOCUMENT_ROOT}/cache/index.html -s
RewriteRule ^$ /cache/index.html [L]

Pronto! Agora o apache consegue “encontrar” a página cacheada, caso ela exista.

Posts relacionados:

  1. Db Migrate Production no Ruby on Rails
  2. Requisição HTTP no Ruby on Rails
  3. CakePHP ou Rails
  4. Cabeçalho expires php
  5. Programador Ruby on Rails

Tags: , , ,

Postado em terça-feira, novembro 17th, 2009 at 13:36 na categoria Ruby on Rails. Siga o RSS 2.0 feed. You can leave a response, or trackback from your own site.

Deixe seu comentário!