在Rails 5中使用Heroku和Memcachier的方法
关于使用Memcachier(Heroku-Rails环境下的Memcached插件),基本上,如果按照我在参考栏中提供的第一个链接,你就可以进行设置。但是,由于配置的语法有时会分散在其他文件中,文档整理得不够完整,因此我会留下一些必要的操作步骤以供参考。
设置的步骤
在Gemfile中添加以下内容并执行bundle install命令。
gem 'dalli'
gem 'memcachier'
为了适应生产环境,设置了cache_store如下。
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
}
由于Heroku的生产环境已经预先设置好,所以不需要进行特定的配置,每个值在ENV中已经设置好。
现金操作
# 読み出し
value = Rails.cache.read(key)
# 書き込み
Rails.cache.write(key, value)
# 削除
Rails.cache.delete(key)
保存対象の値:valueはStringに変換されている必要なく、オブジェクトをそのまま格納可能。
备考
開発環境では、以下のように特定の空ファイルを配置することで
ローカルキャッシュを使って模擬的な動作確認が可能となる。
$ touch ./tmp/caching-dev.txt
请参阅
-
- Building a Rails 5 Application with Memcache
- MemCachier