清理服务器端会话文件 - 使用文件系统的烧瓶会话
Clean server-side session files - Flask-Session using filesystem
我选择使用 服务器端 会话管理与 Flask 使用 Flask-Session。
我使用 filesystem
存储数据,正如预期的那样,这些文件存储在我的配置目录中的 /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)
正如预期的那样,会话文件生成并存储在 /flask_session
下
▾ flask_session/
1695e5cbf9b4edbbbb82a8ef1fad89ae
192761f7ce8e3cbf3ca11665133b7794
2029240f6d1128be89ddc32729463129
...
问题是:这些文件是否会在特定时间后被 flask_session
自动删除(即作为客户端存储的会话)?如果是,是否可以decrease/increase这个时机?
正如 Danila Ganchar 评论的那样,使用 PERMANENT_SESSION_LIFETIME
可以控制会话过期时间。
Flask-Session 使用与 Flask 本身相同的内置配置(与会话相关)。来自 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)
我选择使用 服务器端 会话管理与 Flask 使用 Flask-Session。
我使用 filesystem
存储数据,正如预期的那样,这些文件存储在我的配置目录中的 /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)
正如预期的那样,会话文件生成并存储在 /flask_session
▾ flask_session/
1695e5cbf9b4edbbbb82a8ef1fad89ae
192761f7ce8e3cbf3ca11665133b7794
2029240f6d1128be89ddc32729463129
...
问题是:这些文件是否会在特定时间后被 flask_session
自动删除(即作为客户端存储的会话)?如果是,是否可以decrease/increase这个时机?
正如 Danila Ganchar 评论的那样,使用 PERMANENT_SESSION_LIFETIME
可以控制会话过期时间。
Flask-Session 使用与 Flask 本身相同的内置配置(与会话相关)。来自 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)