🔧 性能优化是构建高效 API 的关键,尤其在处理高并发或复杂业务时。以下是几个实用的优化方向:
1. 异步请求处理
使用 async def
和 await
提升 I/O 操作效率,避免阻塞主线程
@app.get("/fastapi_optimization")
async def optimization():
# 异步数据库查询
await db.query(...)
return {"message": "优化成功"}
2. 缓存机制
通过 Cache
降低重复计算或数据库查询压力
from fastapi import Depends, Cache
cache = Cache()
@app.get("/cache")
def get_cache_data():
data = cache.get("key") or compute_data()
return data
3. 数据库查询优化
- 使用
select()
替代fetchall()
- 添加
limit()
和offset()
控制返回数据量 - 善用数据库索引(如
created_at
字段)
4. 依赖注入优化
避免重复创建依赖项,使用 Depends
实现重用
def get_db():
# 单例模式管理数据库连接
return db
@app.get("/dependencies")
def get_data(db: Session = Depends(get_db)):
return db.fetch(...)
5. 性能监控
通过 fastapi
内置的 middleware
添加监控指标
from fastapi import FastAPI
from fastapi.middleware.trustedhost import TrustedHostMiddleware
app = FastAPI()
app.add_middleware(TrustedHostMiddleware)
🔗 想了解更多? 可访问 FastAPI 官方文档 深入学习。