DalliでMemcacheを利用してみる

CentOSにRuby2.1.1をインストールする
の続き

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を高速化! - 酒と泪とRubyRailshttp://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]