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

results matching ""

    No results matching ""