gem dalli ; Rails

メモリキャッシュシステム。

使いようによっては session 以上の代用が出来る

設計とは相談。negotiate

目的

CentOS, Rails を使って memcache を devlop 環境で

Controller に埋め込めるようになる。

準備

環境導入

sudo yum install memcached

memcached 起動

sudo /etc/init.d/memcached start

自動起動の設定

sudo chkconfig memcached on

(Ubuntu 12.04 は chkconfig が obsolete になってたので、sysv-rc-conf 入れてください)

Gemfile

gem 'dalli'

config/environments/development.rb

config.cache_store = :dalli_store

使う

前提(細かい所は省略 ; racer とか)

今回はDBの設計に意味は無い

rails g scaffold book title:text
rake db:migrate

app/controllers/books_controller.rb

def index
  Rails.cache.write 'book_title_f', 'the_frog_king' # allocate value...'the_frog_king' to mem-key...'book_title_f'
  # ...
end

def show
  @memBook = Rails.cache.read 'book_title_f' #=> 'the_frog_king' # read value from mem-key...'book_title_f'
end

状況に応じて delete 可能

Rails.cache.delete 'book_title_f' #=> true
Rails.cache.read 'book_title_f' #=> nil

引用元 # 勉強になりました

酒と泪とRubyとRailsと