たとえば上の記事を参考にRails5にdalliを導入してmemcachedでセッション管理をしようと思っても、development環境ではそのままでは動かない。
Rails5からは、development環境でキャッシュを有効化するには、下記のコマンドを一度実行する必要がある。
キャッシュの有効化
$ rails dev:cache
実際には、development.rbを読めばわかるが、tmp/cache-dev.txt
の有無でperform_caching
の値が決定される。
development.rb
...
# Enable/disable caching. By default caching is disabled.
if Rails.root.join('tmp/caching-dev.txt').exist?
config.action_controller.perform_caching = true
config.cache_store = :dalli_store
config.public_file_server.headers = {
'Cache-Control' => 'public, max-age=172800'
}
else
config.action_controller.perform_caching = false
config.cache_store = :null_store
end
...
Rails4までは何もしなくてもよかったので、ちょっとしたハマりポイントである。