DalliでMemcacheを利用してみる
DalliでMemcacheを利用してみる。
【参考】 テノニッキ (@hideack 's diary) http://hideack.hatenablog.com/entries/2011/12/24
Memcachedのインストール
とりあえず、memcachedをインストールしておく。
$ sudo yum -y install memcached $ sudo service memcached start $ sudo chkconfig memcached on
Dalliのインストール
Dalliをインストールする。
$ sudo gem install dalli
サンプルプログラムの作成
サンプルプログラムを作成する。
$ vi test.rb
require 'dalli' # 接続 dalli = Dalli::Client.new('localhost:11211') # 値を設定 dalli.set("aaa", "Hello, world!") dalli.set("bbb", [100, 200, 300]) # 値を取得 p dalli.get("aaa") p dalli.get("bbb") p dalli.get("ccc")
確認
実行すると、下記のように出力される。
$ ruby test.rb "Hello, world!" [100, 200, 300] nil
Railsから利用してみる
RailsでHello, world!を表示してみる
の続き
RailsからDalliでmemcachedを利用してみる。
【参考】 Gem Dailliでキャッシュ(memcache)を有効活用してRailsを高速化! - 酒と泪とRubyとRailsと http://morizyun.github.io/blog/gem-dalli-memcache/
Memcachedのインストール
とりあえず、memcachedをインストールしておく。
$ sudo yum -y install memcached $ sudo service memcached start $ sudo chkconfig memcached on
Dalliのインストール
Dalliをインストールする。
$ cd sample
$ vi Gemfile gem 'dalli' ←追加
$ bundle install
サンプルプログラムの作成
cache_storeにdalliを指定する。
※接続先はデフォルトで「localhost:11211」になってるっぽい。
$ vi config/environments/development.rb
・・・
config.cache_store = :dalli_store ←追加
下記のような感じで修正する。
$ vi app/controllers/sample_controller.rb
class SampleController < ApplicationController def index # 値を設定 Rails.cache.write "aaa", "Hello, world!" Rails.cache.write "bbb", [100, 200, 300] # 値を取得 aaa = Rails.cache.read "aaa" bbb = Rails.cache.read "bbb" ccc = Rails.cache.read "ccc" render :json => [aaa, bbb, ccc] end end
確認
ブラウザからアクセスすると、下記のように表示される。
["Hello, world!",[100,200,300],null]