Rails キャッシュとセッションを別々のmemcachedで管理

require 'action_dispatch/middleware/session/dalli_store'

Rails.application.configure do
  config.cache_store = :dalli_store, 'localhost:22222', { namespace: 'myapp_cache', compress: true, expires_in: 1.minute }
  config.session_store ActionDispatch::Session::DalliStore, key: 'myapp_session', :expire_after => 1.month, memcache_server: 'localhost:33333'
end

デフォルト、session_storeは:cookie_storeなのでコメントアウトした。

config/initializers/session_store.rb

# Rails.application.config.session_store :cookie_store

この辺とか見てた。 dalli/dalli_store.rb at 71de05f2db6a66e0c8a77b410310f3cb16a11d24 · mperham/dalli · GitHub

あと、ソースを追うにはやっぱりpry便利。

> cd Rails::Application::Configuration
> ls
> $
> $ session_store
> cd ../
> cd -