flask实现session存储到redis
时间: 2023-08-19 08:04:09 浏览: 154
要将 Flask 中的 Session 存储到 Redis 中,可以使用第三方库 Flask-Session 和 Redis-Py。下面是一个示例:
```python
from flask import Flask, session
from redis import Redis
from flask_session import Session
import os
app = Flask(__name__)
app.config['SESSION_TYPE'] = 'redis'
app.config['SESSION_REDIS'] = Redis(host='localhost', port=6379, password='password')
app.config['SESSION_COOKIE_NAME'] = 'flask_session'
app.config['SESSION_PERMANENT'] = False
app.config['SESSION_USE_SIGNER'] = True
app.config['SESSION_KEY_PREFIX'] = 'session:'
app.config['SECRET_KEY'] = os.urandom(24)
Session(app)
@app.route('/')
def index():
session['username'] = 'Alice'
return 'Hello, World!'
@app.route('/user')
def user():
username = session.get('username')
return f'Hello, {username}!'
if __name__ == '__main__':
app.run()
```
在上面的示例中,我们首先配置了 Flask-Session,使用了 Redis 作为 Session 存储后端。在配置中,我们指定了 Redis 的主机名、端口号、密码,以及 Session 的一些其他选项,比如 Cookie 名称、前缀等。接着,我们创建了一个路由函数 `/`,在其中存储了一个名为 `username` 的 Session 数据。然后,我们创建了另一个路由函数 `/user`,在其中检索了名为 `username` 的 Session 数据,并返回了一个带有欢迎消息的字符串。
需要注意的是,为了使用 Redis 作为 Session 存储后端,我们需要在系统中安装 Redis,并安装 Redis-Py 库。此外,我们还需要在配置中指定 Redis 的主机名、端口号、密码等信息。
阅读全文