【发布时间】:2013-09-04 21:37:18
【问题描述】:
场景:
- 主要的网络应用程序。 Python+Flask
- Flask 登录和
Flask.session用于基本会话变量(用户 ID 和会话 ID)
Flask.session 和限制? (Cookie)
-
基于 Cookie 并且基本上只在客户端持续存在。
-
对于将定期读取的某些会话变量(即,用户权限、自定义应用程序配置),感觉 尴尬 在 cookie 中携带所有这些信息、在每个页面请求时和响应。
数据库太多了?
- 由于可以通过在登录时引入唯一的会话 id 在服务器端识别会话,因此可以使用一些服务器端会话变量管理。在服务器端从数据库中读取这些数据也感觉像是不必要的开销。
问题
- 在服务器端处理会话变量的最有效方法是什么?
也许这可能是一个基于内存的解决方案,但我担心不同的 Flask 应用程序请求可能会在不会共享内存存储的会话数据的不同线程上执行,或者在同时读写的情况下会导致冲突。
- 我正在寻找有关规划基本级别架构的建议和最佳实践。
【问题讨论】:
-
不确定您的确切情况,但有一个名为 Flask-KVSession 的插件,它是烧瓶内置基于 cookie 的会话的插入式服务器端替代品,听起来它可能适合您需要。
-
Flask-Caching 是你所需要的,look bellow
标签: python flask web session caching