Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Ruby

Sửa lỗi cache bị kẹt bằng điều chỉnh code nhanh chóng

Partial Caching là cách tuyệt vời để có cải thiện tốc độ trang lớn mà không tốn nhiều công sức. Nhưng nếu bạn quên touch: true trên một association, hoặc template dependency không hoạt động đúng, cached partial của bạn sẽ không được cập nhật.

Vì môi trường development thường chạy với caching disabled, bạn chỉ phát hiện ra điều này ở staging, hoặc tệ hơn, production! Để debug vấn đề, bạn cần reproduce nó ở development mode bằng cách set

config/environments/development.rb
config.action_controller.perform_caching = false 

trong config/environments/development.rb thành true. Bạn phải làm điều này mỗi lần debug cache, và nhớ đổi lại trước khi commit. Tôi ghét làm loại việc đó, nên khi bắt đầu project mới, tôi set nó thành này:

config/environments/development.rb
config.action_controller.perform_caching = ENV['CACHING'] == 'true' 

Như vậy, tôi có thể bật caching khi cần bằng cách start Rails server với

CACHING=true rails server 

Chạy đơn giản rails server sẽ chạy với caching disabled, như bình thường.

Khi bạn bắt đầu tweak tham số cấu hình thường xuyên hơn, pattern biến tham số hardcoded thành environment variable có thể tiết kiệm nhiều thời gian và việc vần vò. Hãy thử trong project của bạn!