flask工厂模式配置redis
时间: 2023-06-21 19:17:44 浏览: 195
在 Flask 工厂模式中配置 Redis,可以按照以下步骤操作:
1. 在工厂函数中创建 Redis 对象:
```python
import redis
def create_app(config):
app = Flask(__name__)
app.config.from_object(config)
# 创建 Redis 对象
redis_store = redis.from_url(app.config['REDIS_URL'])
# 在应用上下文中存储 Redis 对象
app.redis = redis_store
return app
```
在这里,我们使用 `redis.from_url()` 方法创建 Redis 对象,并将其存储在应用对象中。这样,在应用中的其他地方就可以通过 `current_app.redis` 访问 Redis 对象。
2. 在工厂函数中注册 Redis 扩展:
```python
from flask_redis import FlaskRedis
def create_app(config):
app = Flask(__name__)
app.config.from_object(config)
# 创建 Redis 对象
redis_store = redis.from_url(app.config['REDIS_URL'])
# 在应用上下文中存储 Redis 对象
app.redis = redis_store
# 注册 Redis 扩展
redis_ext = FlaskRedis(app)
return app
```
在这里,我们使用 `FlaskRedis` 类注册 Redis 扩展,使得在应用中可以通过 `current_app.extensions['redis']` 访问 Redis 扩展对象。
3. 在应用中使用 Redis:
```python
from flask import current_app
def example():
# 获取 Redis 对象
redis_store = current_app.redis
# 使用 Redis 对象进行操作
redis_store.set('key', 'value')
value = redis_store.get('key')
return value
```
在这里,我们可以通过 `current_app.redis` 访问 Redis 对象,并使用 Redis 对象进行操作。
使用工厂模式配置 Redis 可以使得应用更加模块化、易于维护。同时,可以通过 Flask 扩展来简化 Redis 的配置和使用。
阅读全文