diff --git a/django-stubs/core/cache/backends/base.pyi b/django-stubs/core/cache/backends/base.pyi index 892c465..7bd7805 100644 --- a/django-stubs/core/cache/backends/base.pyi +++ b/django-stubs/core/cache/backends/base.pyi @@ -4,6 +4,7 @@ from django.core.exceptions import ImproperlyConfigured class InvalidCacheBackendError(ImproperlyConfigured): ... class CacheKeyWarning(RuntimeWarning): ... +class InvalidCacheKey(ValueError): ... DEFAULT_TIMEOUT: Any MEMCACHE_MAX_KEY_LENGTH: int @@ -12,32 +13,56 @@ def default_key_func(key: Any, key_prefix: str, version: Any) -> str: ... def get_key_func(key_func: Optional[Union[Callable, str]]) -> Callable: ... class BaseCache: + _missing_key: object default_timeout: Optional[int] = ... + _max_entries: int = ... + _cull_frequency: int = ... key_prefix: str = ... version: int = ... key_func: Callable = ... def __init__(self, params: Dict[str, Any]) -> None: ... def get_backend_timeout(self, timeout: Optional[int] = ...) -> Optional[float]: ... def make_key(self, key: Any, version: Optional[int] = ...) -> str: ... + def validate_key(self, key: Any) -> None: ... + def make_and_validate_key(self, key: Any, version: Optional[int] = ...) -> str: ... def add(self, key: Any, value: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> bool: ... + async def aadd(self, key: Any, value: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> bool: ... def get(self, key: Any, default: Optional[Any] = ..., version: Optional[int] = ...) -> Any: ... + async def aget(self, key: Any, default: Optional[Any] = ..., version: Optional[int] = ...) -> Any: ... def set(self, key: Any, value: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> None: ... + async def aset(self, key: Any, value: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> None: ... def touch(self, key: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> bool: ... + async def atouch(self, key: Any, timeout: Optional[int] = ..., version: Optional[int] = ...) -> bool: ... def delete(self, key: Any, version: Optional[int] = ...) -> None: ... + async def adelete(self, key: Any, version: Optional[int] = ...) -> None: ... def get_many(self, keys: Iterable[Any], version: Optional[int] = ...) -> Dict[Any, Any]: ... + async def aget_many(self, keys: Iterable[Any], version: Optional[int] = ...) -> Dict[Any, Any]: ... def get_or_set( self, key: Any, default: Optional[Any], timeout: Optional[int] = ..., version: Optional[int] = ... ) -> Optional[Any]: ... + async def aget_or_set( + self, key: Any, default: Optional[Any], timeout: Optional[int] = ..., version: Optional[int] = ... + ) -> Optional[Any]: ... def has_key(self, key: Any, version: Optional[int] = ...) -> bool: ... + async def ahas_key(self, key: Any, version: Optional[int] = ...) -> bool: ... def incr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... + async def aincr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... def decr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... + async def adecr(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... def __contains__(self, key: Any) -> bool: ... def set_many( self, data: Dict[Any, Any], timeout: Optional[int] = ..., version: Optional[int] = ... ) -> List[Any]: ... + async def aset_many( + self, data: Dict[Any, Any], timeout: Optional[int] = ..., version: Optional[int] = ... + ) -> List[Any]: ... def delete_many(self, keys: Iterable[Any], version: Optional[int] = ...) -> None: ... + async def adelete_many(self, keys: Iterable[Any], version: Optional[int] = ...) -> None: ... def clear(self) -> None: ... - def validate_key(self, key: Any) -> None: ... + async def aclear(self) -> None: ... def incr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... + async def aincr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... def decr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... + async def adecr_version(self, key: Any, delta: int = ..., version: Optional[int] = ...) -> int: ... def close(self, **kwargs: Any) -> None: ... + async def aclose(self, **kwargs: Any) -> None: ...