Memcachier (Heroku-Rails環境でのMemcachedアドオン)の利用について、
基本的には、参考欄に記載したリンクの1つ目を辿ればセットアップは出来るのですが、設定の記法が別資料に別れていたりと、
今ひとつドキュメントがまとまっていなかったので組み込みに必要だった作業を残しておきます。
設定方法
以下をGemfileに追加して bundle install を実行。
Gemfile.
gem 'dalli'
gem 'memcachier'
以下の通り本番環境向けにcache_storeを設定。
config/environments/production.rb
config.cache_store = :dalli_store,
(ENV["MEMCACHIER_SERVERS"] || "").split(","),
{:username => ENV["MEMCACHIER_USERNAME"],
:password => ENV["MEMCACHIER_PASSWORD"],
:failover => true,
:socket_timeout => 1.5,
:socket_failure_delay => 0.2,
:down_retry_delay => 60
}
ENVの各値は、Herokuの本番環境に設定済みであるため、
特定の設定を行う必要はありません。
キャッシュ操作
*.rb
# 読み出し
value = Rails.cache.read(key)
# 書き込み
Rails.cache.write(key, value)
# 削除
Rails.cache.delete(key)
保存対象の値:valueはStringに変換されている必要なく、オブジェクトをそのまま格納可能。
備考
開発環境では、以下のように特定の空ファイルを配置することで
ローカルキャッシュを使って模擬的な動作確認が可能となる。
$ touch ./tmp/caching-dev.txt