From d791dd39b7e94d09b1ded522b65d069bf48bb5ee Mon Sep 17 00:00:00 2001 From: Will Gleason Date: Sat, 7 Oct 2023 16:17:33 +0200 Subject: [PATCH] simple cache --- main.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/main.py b/main.py index f4dd9b2..3fe81b5 100644 --- a/main.py +++ b/main.py @@ -670,6 +670,9 @@ class Series(BaseModel): name: str +series_cache: Dict[str, Series] = {} + + @app.get("/api/series") async def get( term: str, @@ -679,6 +682,9 @@ async def get( source: Literal["livres", "presse", "lemonde"] = "presse", link_term: Optional[str] = None, ) -> Series: + key = f"{term}-{start_date}-{end_date}-{grouping}-{source}-{link_term}" + if key in series_cache: + return series_cache[key] debut = start_date or 1789 fin = end_date or 1950 if link_term: @@ -738,10 +744,12 @@ def get_unix_timestamp(row) -> int: lambda row: (get_unix_timestamp(row), row["ratio"]), axis=1 ).tolist() - return Series( + series = Series( data=data, name=term, ) + series_cache[key] = series + return series async def fetch_series_dataframe(url: str, params: Dict):