memcached是一个缓存工具,通过dalli这个gem进行操作
安装
#安装memcached
brew install memcached
#安装dalli,gemfile
gem 'dalli'
使用
#rails g scaffold Article title content
#config/enviroment/development.rb
config.action_controller.perform_caching = true
config.cache_store = :dalli_store, 'localhost', { :namespace => 'dev-018' }
#models/article.rb
class Article < ApplicationRecord
def self.cached_find(id)
#Rails.cache.fetch和Rails.cache.delete是rails的默认方法
Rails.cache.fetch(['user', id], expires_in: 5.minutes) { find(id) }
end
after_commit :flush_cache
private
def flush_cache
Rails.cache.delete(['user', id])
end
end
#controllers/articls_controller.rb
class ArticlesController < ApplicationController
@article = Article.cached_find(params[:id])
end