温馨提示×

FastAPI中怎么实现缓存

小亿
87
2024-05-10 16:48:56
栏目: 编程语言

在FastAPI中实现缓存可以使用第三方库,比如cachetoolsaiocache。以下是使用cachetools实现缓存的示例代码:

from fastapi import FastAPI
from cachetools import TTLCache

app = FastAPI()

# 创建一个TTLCache缓存实例,设置缓存过期时间为60秒
cache = TTLCache(maxsize=100, ttl=60)

# 定义一个路由,使用缓存
@app.get("/cached")
def cached_response():
    # 检查缓存中是否有数据
    if "cached_response" in cache:
        return cache["cached_response"]
    
    # 如果缓存中没有数据,则执行这段逻辑
    response_data = {"message": "This is a cached response"}
    
    # 将数据存入缓存
    cache["cached_response"] = response_data
    
    return response_data

在上面的示例代码中,我们首先导入TTLCache类,然后创建了一个TTLCache实例作为缓存。在路由处理函数中,我们首先检查缓存中是否存在所需的数据,如果存在则直接返回缓存中的数据,否则执行相应的逻辑并将数据存入缓存中。

0