flask_redis模块 保持连接 怎么设置
时间: 2023-05-14 21:05:56 浏览: 86
您可以使用 Flask-Redis 模块来保持连接。在 Flask 应用程序中,您可以使用以下代码来设置 Redis 连接:
```
from flask import Flask
from flask_redis import FlaskRedis
app = Flask(__name__)
app.config['REDIS_URL'] = 'redis://localhost:6379/0'
redis_store = FlaskRedis(app)
```
这将创建一个名为 redis_store 的 FlaskRedis 实例,您可以使用它来执行 Redis 操作。请注意,您需要安装 Flask-Redis 模块才能使用它。
相关问题
flask 使用redis
Flask 可以使用 redis 作为缓存或数据存储。下面是一个使用 Flask 和 Redis 的例子:
首先,需要安装 redis 模块:
```
pip install redis
```
然后,可以在 Flask 应用程序中使用 redis:
```python
from flask import Flask
import redis
app = Flask(__name__)
r = redis.Redis(host='localhost', port=6379, db=0) #连接 Redis
@app.route('/')
def index():
# 在 Redis 中存储键值对
r.set('name', 'Flask Redis')
# 从 Redis 中获取键值对
name = r.get('name')
return 'Hello, {}'.format(name)
if __name__ == '__main__':
app.run()
```
在上面的示例中,我们使用 redis.Redis() 方法连接 Redis 数据库。然后,我们在 index() 视图函数中使用 r.set() 方法存储键值对,并使用 r.get() 方法获取键值对的值。
注意,这只是一个简单的例子,使用 Redis 的更多功能需要更复杂的代码和配置。
flask 多redis连接实例 的 工程化的写法
在使用 Flask 时,我们可以通过 Flask-Redis 扩展来方便地使用 Redis 数据库。如果需要连接多个 Redis 实例,我们可以使用 Redis 的 Connection Pool 来管理连接池,从而实现高效的连接复用。
以下是一个使用 Flask-Redis 扩展连接多个 Redis 实例的例子:
```python
from flask import Flask
from flask_redis import FlaskRedis
from redis import ConnectionPool, Redis
app = Flask(__name__)
# 创建两个 Redis 连接池
pool1 = ConnectionPool(host='localhost', port=6379, db=0)
pool2 = ConnectionPool(host='localhost', port=6380, db=0)
# 创建两个 Redis 实例
redis1 = Redis(connection_pool=pool1)
redis2 = Redis(connection_pool=pool2)
# 初始化 Flask-Redis 扩展
redis_store1 = FlaskRedis.from_custom_provider(redis1)
redis_store2 = FlaskRedis.from_custom_provider(redis2)
# 在 Flask 应用中注册两个 Redis 实例
app.config['REDIS_STORE1'] = redis_store1
app.config['REDIS_STORE2'] = redis_store2
```
上述代码中,我们创建了两个 Redis 连接池,分别连接到两个不同的 Redis 实例。然后使用这两个连接池创建了两个 Redis 实例,并通过 Flask-Redis 扩展的 `from_custom_provider` 方法初始化了两个 Redis 实例。最后将这两个 Redis 实例注册到 Flask 应用中,可以在应用的其他模块中直接使用。
在应用的其他模块中,我们可以通过以下方式来获取这两个 Redis 实例:
```python
from flask import current_app
redis_store1 = current_app.config['REDIS_STORE1']
redis_store2 = current_app.config['REDIS_STORE2']
```
这样就可以在应用的其他模块中方便地使用这两个 Redis 实例了。
阅读全文