20 lines
563 B
Python
20 lines
563 B
Python
from __future__ import annotations
|
|
|
|
from typing import Protocol
|
|
|
|
|
|
class CacheStore(Protocol):
|
|
async def hgetall(self, key: str, /) -> dict[str, str]: ...
|
|
|
|
async def hset(self, key: str, /, mapping: dict[str, str]) -> int: ...
|
|
|
|
async def hincrby(self, key: str, field: str, amount: int = 1, /) -> int: ...
|
|
|
|
async def expire(self, key: str, ttl_seconds: int, /) -> int: ...
|
|
|
|
async def delete(self, *keys: str) -> int: ...
|
|
|
|
async def sadd(self, key: str, *members: str) -> int: ...
|
|
|
|
async def smembers(self, key: str, /) -> set[str]: ...
|