gpt4 book ai didi

python - 使用文件系统清理服务器端 session 文件 - Flask-Session

转载 作者:行者123 更新时间:2023-12-03 01:07:32 30 4
gpt4 key购买 nike

我选择使用 Flask-Session 对 Flask 进行服务器端 session 管理。

我使用文件系统存储数据,正如预期的那样,这些文件存储在我的配置目录中的/flask_session文件夹下。

这是我在 __init__.py 中进行设置的方法

# __init__.py

from flask_session import Session

[...]

app.config['SESSION_TYPE'] = 'filesystem'
app.config['SECRET_KEY'] = config.SECRET_KEY
sess = Session()
sess.init_app(app)

正如预期的那样, session 文件生成并存储在 /flask_session

▾ flask_session/
1695e5cbf9b4edbbbb82a8ef1fad89ae
192761f7ce8e3cbf3ca11665133b7794
2029240f6d1128be89ddc32729463129
...

问题是:这些文件是否会在特定时间后(即 session 存储在客户端时)被flask_session自动删除?如果是,是否可以减少/增加这个时间?

最佳答案

正如 Danila Ganchar 评论的那样,使用 PERMANENT_SESSION_LIFETIME 可以控制 session 过期时间。

Flask-Session 使用与 Flask 本身相同的内置配置(与 session 相关)。来自 Flask-Session文档:

The following configuration values are builtin configuration values within Flask itself that are related to session. They are all understood by Flask-Session, for example, you should use PERMANENT_SESSION_LIFETIME to control your session lifetime.

示例:

# __init__.py

from flask_session import Session
from datetime import timedelta

app.config['SESSION_PERMANENT'] = True
app.config['SESSION_TYPE'] = 'filesystem'
app.config['PERMANENT_SESSION_LIFETIME'] = timedelta(hours=5)

# The maximum number of items the session stores
# before it starts deleting some, default 500
app.config['SESSION_FILE_THRESHOLD'] = 100

app.config['SECRET_KEY'] = config.SECRET_KEY
sess = Session()
sess.init_app(app)

关于python - 使用文件系统清理服务器端 session 文件 - Flask-Session,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53841909/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com