如何解决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 举报,一经查实,本站将立刻删除。