[python] FastAPI에서 캐시 정책 설정하기

FastAPI는 빠르고 간단한 웹 애플리케이션 개발을 위한 파이썬 웹 프레임워크입니다. 캐싱은 웹 애플리케이션의 성능을 향상시키는 방법 중 하나로, 많은 요청을 처리할 때 데이터를 미리 저장해두고 재사용함으로써 응답 시간을 단축시킵니다. 이번 글에서는 FastAPI에서 캐시 정책을 설정하는 방법에 대해 알아보겠습니다.

캐시 정책 설정

FastAPI에서 캐시 정책을 설정하려면 다음과 같은 단계를 따릅니다.

  1. Cache-Control 헤더를 설정합니다. 이 헤더는 클라이언트에게 해당 응답을 얼마 동안 캐시에 저장할 것인지 알려줍니다.
  2. 캐시 갱신 시간을 설정합니다. 이를 위해 ETag 또는 Last-Modified 헤더를 사용할 수 있습니다.

FastAPI에서는 캐시 관련 헤더를 손쉽게 설정할 수 있도록 Response 클래스를 제공합니다. 다음은 예제 코드입니다.

from fastapi import FastAPI, Response

app = FastAPI()

@app.get("/data")
def get_data(response: Response):
    # 캐시 헤더를 설정합니다.
    response.headers["Cache-Control"] = "max-age=3600, public"
    response.headers["ETag"] = "my-etag"

    # 데이터를 반환합니다.
    return {"data": "Hello, FastAPI!"}

위의 코드에서는 /data 엔드포인트에서 캐시 관련 헤더를 설정하고, 데이터를 반환합니다. Cache-Control 헤더를 통해 캐시의 유효 기간을 1시간(max-age=3600)로 설정하고, ETag 헤더를 사용하여 갱신 여부를 확인할 수 있습니다.

마무리

FastAPI에서 캐시 정책을 설정하는 방법에 대해 알아보았습니다. 캐싱을 효율적으로 사용하면 웹 애플리케이션의 응답 시간을 줄일 수 있어 사용자 경험을 향상시킬 수 있습니다. FastAPI의 간편한 인터페이스를 활용하여 캐시 기능을 구현해보세요.

참고 자료