redis_store 会话未过期 [英] redis_store sessions not expiring

查看:52
本文介绍了redis_store 会话未过期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 gem redis 存储进行 Rails 会话.

I am using the gem redis store for my rails sessions.

我的配置/初始化程序/session_store.rb

My config/initializers/session_store.rb

MYAPP::Application.config.session_store :redis_store, key: '_my_app_session',
  :servers =>{
    :host => ENV["REDIS_HOST"],
    :port => ENV["REDIS_PORT"],
    :namespace => "MYAPP::WEB",
    :expires_in => 20.minutes
  }

即使我的 session_store.rb 中有 expires_in 20.minutes,我的会话也没有在我的 redis 服务器中被清除.

Even though I have expires_in 20.minutes in my session_store.rb, my sessions are not getting cleared in my redis server.

我应该做任何额外的配置吗?

Should I do any extra configurations?

推荐答案

这是一个非常简单的修复.

It was a pretty simple fix.

我使用过 :expires_in =>20.minutes 在 :servers 块内.它应该在 :servers 块之外.所以我做了这样的配置

I had used :expires_in => 20.minutes within the :servers block. It should be outside :servers block. So I made my config like this

MyAPP::Application.config.session_store :redis_store, key: '_my_app_session',
  :servers =>{
    :host => ENV["REDIS_HOST"],
    :port => ENV["REDIS_PORT"],
    :namespace => "MYAPP::WEB"
  },
  :expires_in => 20.minutes

现在完美运行.

这篇关于redis_store 会话未过期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆