Как использовать пакет FastAPI-Cache2 в приложенииPython

Программы на Python
Ответить
Anonymous
 Как использовать пакет FastAPI-Cache2 в приложении

Сообщение Anonymous »

Я хочу реализовать кеширование Redis с помощью FastAPI-Cache2, и я реализовал кеширование на основе документации:

Код: Выделить всё

async def init_cache():
try:
redis = aioredis.from_url(  # type: ignore
appConfig.REDIS_ENDPOINT,
encoding='utf-8',
decode_responses=False,
)
FastAPICache.init(RedisBackend(redis), prefix='igw-cache')
logging.info('Cache initialized successfully.')
except Exception as e:
logging.error(f'Error initializing cache: {e}')

@asynccontextmanager
async def lifespan(_app: FastAPI) -> AsyncIterator[None]:
await init_cache()
yield

и наконец:

Код: Выделить всё

        app = FastAPI(lifespan=lifespan, docs_url=docs_url)

@router.get("/test-cache")
@cache(expire=60)
async def index(request: Request, response: Response):
logging.info('The endpoint executed...')
return dict(hello="world")
каждый раз, когда я вызываю конечную точку, я вижу уникальный ключ и значение в Redis, но также печатается журнал «Конечная точка выполнена...». Как я могу убедиться, что все работает так, как я ожидал, и не видеть журналы в течение 60 секунд?

Подробнее здесь: https://stackoverflow.com/questions/790 ... pplication
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»