From 669481af0630656a930b194fa24cc16424a46bb3 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Thu, 19 Dec 2024 19:42:17 +0800 Subject: [PATCH] feat(cache): unify bangumi cache strategy --- app/core/config.py | 2 ++ app/modules/bangumi/bangumi.py | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/core/config.py b/app/core/config.py index 96ac58bd..9d04c6af 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -481,6 +481,7 @@ class Settings(BaseSettings, ConfigModel): "refresh": 100, "tmdb": 1024, "douban": 512, + "bangumi": 512, "fanart": 512, "meta": (self.META_CACHE_EXPIRE or 24) * 3600 } @@ -489,6 +490,7 @@ class Settings(BaseSettings, ConfigModel): "refresh": 50, "tmdb": 256, "douban": 256, + "bangumi": 256, "fanart": 128, "meta": (self.META_CACHE_EXPIRE or 2) * 3600 } diff --git a/app/modules/bangumi/bangumi.py b/app/modules/bangumi/bangumi.py index 440017ab..df8c92d0 100644 --- a/app/modules/bangumi/bangumi.py +++ b/app/modules/bangumi/bangumi.py @@ -2,7 +2,9 @@ from datetime import datetime from functools import lru_cache import requests +from cachetools import TTLCache, cached +from app.core.config import settings from app.utils.http import RequestUtils @@ -28,7 +30,7 @@ class BangumiApi(object): pass @classmethod - @lru_cache(maxsize=128) + @cached(cache=TTLCache(maxsize=settings.CACHE_CONF["bangumi"], ttl=settings.CACHE_CONF["meta"])) def __invoke(cls, url, **kwargs): req_url = cls._base_url + url params = {}