CookieToRedis < ActionDispatch::Session::CookieStore` - delete_session, commit_session でダブルライト 1 │ class CookieToRedis < ActionDispatch::Session::CookieStore 2 │ def initialize(app, options = {}) 3 │ super(app, options[:cookie_store]) 4 │ @redis_store = ActionDispatch::Session::RedisStore.new(app, options[:redis_store]) 5 │ end 6 │ 7 │ def delete_session(req, session_id, options) 8 │ super 9 │ @redis_store = delete_session(req, session_id, options) 10 │ end 11 │ 12 │ def commit_session(req, res) 13 │ super 14 │ @redis_store.commit_session(req, res) 15 │ end 16 │ end 17 │ 18 │ Rails.application.config.session_store CookieToRedis, { 19 │ cookie_store: { key: "cookie_id" }, 20 │ redis_store: { key: "redis_id", servers: ..., expire_after: 2.weeks }, 21 │ }