+1

Basic Caching with Rails

Bài hướng dẫn này sẽ hướng dẫn các bạn tăng tốc rails với caching.

Rails Caching cơ bản

Mặc định, rails chỉ cung cấp Fragment caching, còn nếu bạn muốn sử dụng page và action caching thì cần phải thêm gem actionpack-page_caching và actionpack-action_caching vào gem file. Thực hiện bật caching trong config/environtments/*.rb

config.action_controller.perform_caching = true

1.1 Page caching

Page caching là một kỹ thuật của rails cho phép yêu cầu một trang được tạo đầy đủ bởi webserver mà không phải đi vào entrie của Rails stack. Xem thêm tại: page caching

1.2 Action caching

Page caching không thể sử dụng với các action có before filters. Chẳng hạn như trang đăng nhập, vì có yêu cầu xác thực. Xem thêm tại: action caching

Fragment caching

Khi các thành phần khác nhau của trang web cần được caching và hết hạn một cách riêng lẻ, ta có thể sử dụng fragment caching. Fragment caching cho phép một fragment của view logic được bao trong một khổi cache.Ví dụ:

<% @products.each do |product| %>
  <% cache product do %>
    <%= render product %>
  <% end %>
<% end %>

Nếu bạn muốn sử dụng cache fragment dưới một điều kiện nào đó. Ta có thể sử dụng cache_if hoặc cache_unless.

<% cache_if admin?, product do %>
  <%= render product %>
<% end %>

1.3 Russian Doll Caching

Các fragment caching được lồng trong các fragment caching khác. Ví dụ: Ta có một view sau:

<% cache code do %>
  <%= render codefoods %>
<% end %>

mà nó sẽ render view sau:

<% cache game do %>
  <%= render game %>
<% end %>

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí