fastapi缓存接口
时间: 2024-12-31 22:36:55 浏览: 21
### 如何在 FastAPI 中实现接口缓存
#### 使用 `fastapi-cache` 库简化缓存操作
为了使 API 接口具备高效的数据访问能力,可以采用第三方库 `fastapi-cache` 来集成缓存功能。该库设计精巧且易于上手,在不增加过多复杂度的情况下提供了丰富的特性支持[^1]。
安装所需的依赖包:
```bash
pip install fastapi-cache2
```
定义缓存后端并配置到应用程序实例中:
```python
from fastapi import FastAPI, Depends
from fastapi_cache import FastAPICache
from fastapi_cache.backends.inmemory import InMemoryBackend
app = FastAPI()
@app.on_event("startup")
async def startup():
FastAPICache.init(InMemoryBackend())
```
通过装饰器的方式为特定路由添加缓存逻辑:
```python
from datetime import timedelta
from fastapi_cache.decorator import cache
@app.get("/items/{item_id}")
@cache(expire=timedelta(seconds=60)) # 设置缓存过期时间为60秒
def read_item(item_id: int):
# 假设这里是从数据库查询数据的过程比较耗时
return {"item": f"data of {item_id}"}
```
上述代码展示了如何利用内存作为存储介质快速搭建起一套简易却有效的缓存体系结构;对于生产环境而言,则建议选用更为稳定的 Redis 或其他分布式缓存方案替代默认的内存模式。
阅读全文