在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
广告
将在 10 秒后关闭
bannerAds