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
引用元 # 勉強になりました