fastapi 中使用redis
时间: 2024-06-17 10:01:22 浏览: 374
FastAPI 是一个轻量级的 Web 框架,而 Redis 是一个流行的内存数据存储系统,常用于缓存、会话管理和实时数据存储。在 FastAPI 中集成 Redis,可以帮助提高应用性能和扩展性。以下是如何在 FastAPI 中使用 Redis 的简单步骤:
1. 安装依赖:首先,你需要安装 `aioredis` 库,它是异步操作 Redis 的 Python 接口。可以通过 pip 安装:
```
pip install aioredis
```
2. 配置连接:在你的应用中,设置一个连接到 Redis 的异步客户端。你可以创建一个单例的 Redis 连接实例,以便在整个应用中复用:
```python
import aioredis
redis_pool = None
async def get_redis_connection():
global redis_pool
if not redis_pool:
redis_pool = await aioredis.create_pool('redis://localhost:6379')
return await redis_pool.get_client()
# 在 FastAPI 的服务启动时(或配置文件中),初始化连接
app = FastAPI()
app.state.redis = get_redis_connection()
```
3. 使用 Redis:在你的 FastAPI 函数中,你可以使用连接来存储和检索数据。例如,存储数据:
```python
async def set_item(item_key, item_value):
redis = app.state.redis
await redis.set(item_key, item_value)
```
获取数据:
```python
async def get_item(item_key):
redis = app.state.redis
return await redis.get(item_key)
```
4. 键值对操作:你可以使用 Redis 提供的多种操作,如哈希、集合、有序集合等,具体取决于你的应用需求。
阅读全文
相关推荐

















