반응형
FastAPI, Redis를 이용한 데이터 공유
https://www.youtube.com/watch?v=reNPNDustQU
FastAPI Redis
- GitHub: https://github.com/travisluong/fullstackbook-fastapi-redis/tree/v1
- YouTube: FastAPI Redis Tutorial
Command Line
[Terminal]
mkdir fullstackbook-fastapi-redis
cd fullstackbook-fastapi-redis
python3 -m venv venv
. venv/bin/activate
pip install fastapi "uvicorn[standard]" requests redis
pip freeze > requirements.txt
uvicorn main:app --reload
Code
main.py
import requests
import redis
import json
from fastapi import FastAPI
rd = redis.Redis(host="localhost", port=6379, db=0)
app = FastAPI()
@app.get("/")
def read_root():
return "Hello World"
@app.get("/fish/{species}")
def read_fish(species: str):
cache = rd.get(species)
if cache:
print("cache hit")
return json.loads(cache)
else:
print("cache miss")
r = requests.get(f"https://www.fishwatch.gov/api/species/{species}")
rd.set(species, r.text)
rd.expire(species, 5)
return r.json()
반응형
'FastAPI' 카테고리의 다른 글
FastAPI, 현재 실행 프로세스 및 환경 정보 예제 (0) | 2023.08.18 |
---|---|
FastAPI, 파일 반환하기 (0) | 2023.08.13 |
FastAPI, 파일 업로드와 다운로드 API 예제 (0) | 2023.08.12 |
FastAPI, 호출할 때마다 응답이 변한다? (0) | 2023.08.11 |
FastAPI, 게시판 페이지네이션(pagination)/페이징 처리 예제 (0) | 2023.04.02 |