rails: actionpack-action_caching(页面缓存-rails4已经废弃)
actionpack-action_caching
是一个用于 Rails 应用程序的缓存解决方案,主要用于提高性能。它通过在控制器层面上缓存 HTTP 响应,减少不必要的计算和数据库查询。
01 打开配置
必须确保在 config/environments/production.rb
或 config/environments/development.rb
文件中将 config.action_controller.perform_caching
设置为 true
。
这样才能启用 Rails 的缓存机制,使得你的缓存设置生效。
# config/environments/production.rb
Rails.application.configure do
# 其他配置...
config.action_controller.perform_caching = true
# 其他配置...
end
确保缓存存储机制(如 MemoryStore、FileStore 或 Redis 等)也正确配置,这样才能有效利用缓存。这样就可以在控制器中使用缓存功能了!
02 安装 rails
在你的 Rails 项目中,首先需要添加 gem 到 Gemfile
:
gem 'actionpack-action_caching'
安装 bundle install
03 添加 controller/model
创建 controller/model
# controller
rails generate controller Posts index show
# 添加 model
rails g model Post title:string body:text
04 posts 的 views 页面
views/posts/index.html.erb
内容
<h1>Posts#index</h1>
<p>Find me in app/views/posts/index.html.erb</p>
<% @posts.each do |post| %>
<h3><%= post.title %></h3>
<p><%= post.body %></p>
<% end %>
05 添加 routes
编辑路由 routes.rb
Rails.application.routes.draw do
resources :posts , only: [:index, :show]
end
06 配置 controller
配置 controller,10s之后过期
class PostsController < ApplicationController
# include ActionCaching::ActionCaching
caches_action :index, :show, expires_in: 10.seconds
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
end