🔧 性能优化是构建高效 API 的关键,尤其在处理高并发或复杂业务时。以下是几个实用的优化方向:

1. 异步请求处理

使用 async defawait 提升 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 官方文档 深入学习。