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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...