diff --git a/async_substrate_interface/utils/cache.py b/async_substrate_interface/utils/cache.py index 5cf1fe4..1c4a034 100644 --- a/async_substrate_interface/utils/cache.py +++ b/async_substrate_interface/utils/cache.py @@ -20,6 +20,7 @@ if USE_CACHE else ":memory:" ) +SUBSTRATE_CACHE_METHOD_SIZE = int(os.getenv("SUBSTRATE_CACHE_METHOD_SIZE", "512")) logger = logging.getLogger("async_substrate_interface") @@ -66,7 +67,7 @@ async def __call__(self, chain, other_self, func, args, kwargs) -> Optional[Any] WHERE rowid IN ( SELECT rowid FROM {table_name} ORDER BY created_at DESC - LIMIT -1 OFFSET 500 + LIMIT -1 OFFSET {SUBSTRATE_CACHE_METHOD_SIZE} ); END; """ @@ -205,7 +206,7 @@ def inner(self, *args, **kwargs): def async_sql_lru_cache(maxsize: Optional[int] = None): def decorator(func): - @cached_fetcher(max_size=maxsize) + @cached_fetcher(max_size=maxsize, cache_key_index=None) async def inner(self, *args, **kwargs): async_sql_db = AsyncSqliteDB(self.url) result = await async_sql_db(self.url, self, func, args, kwargs)