微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flask会话与Redis服务器端会话一起使用时会丢弃数据

如何解决Flask会话与Redis服务器端会话一起使用时会丢弃数据

两种设置。两种不同的结果。

设置1:Flask应用程序在开发模式下运行,redis在本地容器中运行。

会话数据在请求中持续存在。

设置2:Flask应用在容器中的AWS EC2实例上运行,redis在docker-compose环境中的容器中运行,而docker撰写环境中的Nginx容器。

某些会话数据在请求之间无法持久保存。

令人兴奋的是,如果我将会话存储在cookie上,则系统将按预期运行,并且所有状态都存储在Setup 2中。

不确定以下任何一项内容

  • 为什么某些会话项目持续存在,而另一些则没有。
  • 为什么这可以在本地重复进行,而不是在EC2实例上进行。
  • 出了什么问题,以及(希望)如何修复或调试它。

更新:
服务器端会话的会话配置:

PERMANENT_SESSION_LIFETIME = 600
SESSION_TYPE = 'redis'
SESSION_REdis = redis.from_url('redis://redis')

,它是应用程序配置的一部分。 除此之外,我使用以下命令设置了flask-session

from flask_session import Session
app = Flask(__name__)
Session(app)

(对用于创建应用程序的样板代码进行模化。)删除Session(app)调用,然后配置可修复会话,但不会丢失数据。我需要使用redis,因为会话cookie不足以存储某些会话。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。