Type async Pipeline commands explicitly (#8325)

This commit is contained in:
Ben Avrahami
2022-07-19 16:15:09 +03:00
committed by GitHub
parent 9cda16f5df
commit 25e74740ae
2 changed files with 752 additions and 6 deletions

View File

@@ -16,6 +16,14 @@ redis.asyncio.connection.AsyncConnectCallbackProtocol.__init__
redis.asyncio.connection.ConnectCallbackProtocol.__init__
redis.typing.CommandsProtocol.__init__
# async def mismatch problems
redis.asyncio.client.Pipeline.command_info
redis.asyncio.client.Pipeline.debug_segfault
redis.asyncio.client.Pipeline.memory_doctor
redis.asyncio.client.Pipeline.memory_help
redis.asyncio.client.Pipeline.script_debug
redis.asyncio.client.Pipeline.shutdown
# unclear problems
redis.Sentinel.master_for
redis.Sentinel.slave_for

View File

@@ -1,15 +1,16 @@
from _typeshed import Self
from collections.abc import AsyncIterator, Awaitable, Callable, Iterable, Mapping, MutableMapping
from typing import Any, ClassVar, Generic, NoReturn, Protocol
from typing_extensions import TypeAlias, TypedDict
from _typeshed import Incomplete, Self
from collections.abc import AsyncIterator, Awaitable, Callable, Iterable, Mapping, MutableMapping, Sequence
from datetime import datetime, timedelta
from typing import Any, ClassVar, Generic, NoReturn, Protocol, overload
from typing_extensions import Literal, TypeAlias, TypedDict
from redis import RedisError
from redis.asyncio.connection import ConnectCallbackT, Connection, ConnectionPool
from redis.asyncio.lock import Lock
from redis.asyncio.retry import Retry
from redis.client import AbstractRedis, _StrType
from redis.client import AbstractRedis, _CommandOptions, _Key, _StrType, _Value
from redis.commands import AsyncCoreCommands, AsyncSentinelCommands, RedisModuleCommands
from redis.typing import ChannelT, EncodableT, KeyT
from redis.typing import ChannelT, EncodableT, KeyT, PatternT
PubSubHandler: TypeAlias = Callable[[dict[str, str]], Awaitable[None]]
@@ -205,3 +206,740 @@ class Pipeline(Redis[_StrType], Generic[_StrType]):
async def discard(self) -> None: ...
async def watch(self, *names: KeyT) -> bool: ...
async def unwatch(self) -> bool: ...
# region acl commands
def acl_cat(self, category: str | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_deluser(self, *username: str, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_genpass(self, bits: int | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_getuser(self, username: str, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_help(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_list(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_log(self, count: int | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_log_reset(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_load(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_save(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_setuser( # type: ignore[override]
self,
username: str,
enabled: bool = ...,
nopass: bool = ...,
passwords: Sequence[str] | None = ...,
hashed_passwords: Sequence[str] | None = ...,
categories: Sequence[str] | None = ...,
commands: Sequence[str] | None = ...,
keys: Sequence[str] | None = ...,
channels: Iterable[ChannelT] | None = ...,
selectors: Iterable[tuple[str, KeyT]] | None = ...,
reset: bool = ...,
reset_keys: bool = ...,
reset_passwords: bool = ...,
**kwargs: _CommandOptions,
) -> Pipeline[_StrType]: ...
def acl_users(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def acl_whoami(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
# endregion
# region cluster commands
def cluster(self, cluster_arg: str, *args, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def readwrite(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def readonly(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
# endregion
# region BasicKey commands
def append(self, key, value) -> Any: ... # type: ignore[override]
def bitcount(self, key: _Key, start: int | None = ..., end: int | None = ..., mode: str | None = ...) -> Any: ... # type: ignore[override]
def bitfield(self, key, default_overflow: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def bitop(self, operation, dest, *keys) -> Any: ... # type: ignore[override]
def bitpos(self, key: _Key, bit: int, start: int | None = ..., end: int | None = ..., mode: str | None = ...) -> Any: ... # type: ignore[override]
def copy(self, source, destination, destination_db: Incomplete | None = ..., replace: bool = ...) -> Any: ... # type: ignore[override]
def decr(self, name, amount: int = ...) -> Any: ... # type: ignore[override]
def decrby(self, name, amount: int = ...) -> Any: ... # type: ignore[override]
def delete(self, *names: _Key) -> Any: ... # type: ignore[override]
def dump(self, name: _Key) -> Any: ... # type: ignore[override]
def exists(self, *names: _Key) -> Any: ... # type: ignore[override]
def expire( # type: ignore[override]
self, name: _Key, time: int | timedelta, nx: bool = ..., xx: bool = ..., gt: bool = ..., lt: bool = ...
) -> Any: ...
def expireat(self, name, when, nx: bool = ..., xx: bool = ..., gt: bool = ..., lt: bool = ...) -> Any: ... # type: ignore[override]
def get(self, name: _Key) -> Any: ... # type: ignore[override]
def getdel(self, name: _Key) -> Any: ... # type: ignore[override]
def getex( # type: ignore[override]
self,
name,
ex: Incomplete | None = ...,
px: Incomplete | None = ...,
exat: Incomplete | None = ...,
pxat: Incomplete | None = ...,
persist: bool = ...,
) -> Any: ...
def getbit(self, name: _Key, offset: int) -> Any: ... # type: ignore[override]
def getrange(self, key, start, end) -> Any: ... # type: ignore[override]
def getset(self, name, value) -> Any: ... # type: ignore[override]
def incr(self, name: _Key, amount: int = ...) -> Any: ... # type: ignore[override]
def incrby(self, name: _Key, amount: int = ...) -> Any: ... # type: ignore[override]
def incrbyfloat(self, name: _Key, amount: float = ...) -> Any: ... # type: ignore[override]
def keys(self, pattern: _Key = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def lmove( # type: ignore[override]
self, first_list: _Key, second_list: _Key, src: Literal["LEFT", "RIGHT"] = ..., dest: Literal["LEFT", "RIGHT"] = ...
) -> Any: ...
def blmove( # type: ignore[override]
self,
first_list: _Key,
second_list: _Key,
timeout: float,
src: Literal["LEFT", "RIGHT"] = ...,
dest: Literal["LEFT", "RIGHT"] = ...,
) -> Any: ...
def mget(self, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def mset(self, mapping: Mapping[_Key, _Value]) -> Any: ... # type: ignore[override]
def msetnx(self, mapping: Mapping[_Key, _Value]) -> Any: ... # type: ignore[override]
def move(self, name: _Key, db: int) -> Any: ... # type: ignore[override]
def persist(self, name: _Key) -> Any: ... # type: ignore[override]
def pexpire( # type: ignore[override]
self, name: _Key, time: int | timedelta, nx: bool = ..., xx: bool = ..., gt: bool = ..., lt: bool = ...
) -> Any: ...
def pexpireat( # type: ignore[override]
self, name: _Key, when: int | datetime, nx: bool = ..., xx: bool = ..., gt: bool = ..., lt: bool = ...
) -> Any: ...
def psetex(self, name, time_ms, value) -> Any: ... # type: ignore[override]
def pttl(self, name: _Key) -> Any: ... # type: ignore[override]
def hrandfield(self, key, count: Incomplete | None = ..., withvalues: bool = ...) -> Any: ... # type: ignore[override]
def randomkey(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def rename(self, src, dst) -> Any: ... # type: ignore[override]
def renamenx(self, src, dst) -> Any: ... # type: ignore[override]
def restore( # type: ignore[override]
self,
name,
ttl,
value,
replace: bool = ...,
absttl: bool = ...,
idletime: Incomplete | None = ...,
frequency: Incomplete | None = ...,
) -> Any: ...
def set( # type: ignore[override]
self,
name: _Key,
value: _Value,
ex: None | int | timedelta = ...,
px: None | int | timedelta = ...,
nx: bool = ...,
xx: bool = ...,
keepttl: bool = ...,
get: bool = ...,
exat: Incomplete | None = ...,
pxat: Incomplete | None = ...,
) -> Any: ...
def setbit(self, name: _Key, offset: int, value: int) -> Any: ... # type: ignore[override]
def setex(self, name: _Key, time: int | timedelta, value: _Value) -> Any: ... # type: ignore[override]
def setnx(self, name: _Key, value: _Value) -> Any: ... # type: ignore[override]
def setrange(self, name, offset, value) -> Any: ... # type: ignore[override]
def stralgo( # type: ignore[override]
self,
algo,
value1,
value2,
specific_argument: str = ...,
len: bool = ...,
idx: bool = ...,
minmatchlen: Incomplete | None = ...,
withmatchlen: bool = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def strlen(self, name) -> Any: ... # type: ignore[override]
def substr(self, name, start, end: int = ...) -> Any: ... # type: ignore[override]
def touch(self, *args) -> Any: ... # type: ignore[override]
def ttl(self, name: _Key) -> Any: ... # type: ignore[override]
def type(self, name) -> Any: ... # type: ignore[override]
def unlink(self, *names: _Key) -> Any: ... # type: ignore[override]
# endregion
# region hyperlog commands
def pfadd(self, name: _Key, *values: _Value) -> Any: ... # type: ignore[override]
def pfcount(self, name: _Key) -> Any: ... # type: ignore[override]
def pfmerge(self, dest: _Key, *sources: _Key) -> Any: ... # type: ignore[override]
# endregion
# region hash commands
def hdel(self, name: _Key, *keys: _Key) -> Any: ... # type: ignore[override]
def hexists(self, name: _Key, key: _Key) -> Any: ... # type: ignore[override]
def hget(self, name: _Key, key: _Key) -> Any: ... # type: ignore[override]
def hgetall(self, name: _Key) -> Any: ... # type: ignore[override]
def hincrby(self, name: _Key, key: _Key, amount: int = ...) -> Any: ... # type: ignore[override]
def hincrbyfloat(self, name: _Key, key: _Key, amount: float = ...) -> Any: ... # type: ignore[override]
def hkeys(self, name: _Key) -> Any: ... # type: ignore[override]
def hlen(self, name: _Key) -> Any: ... # type: ignore[override]
@overload
def hset( # type: ignore[override]
self, name: _Key, key: _Key, value: _Value, mapping: Mapping[_Key, _Value] | None = ..., items: Incomplete | None = ...
) -> Any: ...
@overload
def hset(self, name: _Key, key: None, value: None, mapping: Mapping[_Key, _Value], items: Incomplete | None = ...) -> Any: ... # type: ignore[override]
@overload
def hset(self, name: _Key, *, mapping: Mapping[_Key, _Value], items: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def hsetnx(self, name: _Key, key: _Key, value: _Value) -> Any: ... # type: ignore[override]
def hmset(self, name: _Key, mapping: Mapping[_Key, _Value]) -> Any: ... # type: ignore[override]
def hmget(self, name: _Key, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def hvals(self, name: _Key) -> Any: ... # type: ignore[override]
def hstrlen(self, name, key) -> Any: ... # type: ignore[override]
# endregion
# region geo commands
def geoadd(self, name, values, nx: bool = ..., xx: bool = ..., ch: bool = ...) -> Any: ... # type: ignore[override]
def geodist(self, name, place1, place2, unit: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def geohash(self, name, *values) -> Any: ... # type: ignore[override]
def geopos(self, name, *values) -> Any: ... # type: ignore[override]
def georadius( # type: ignore[override]
self,
name,
longitude,
latitude,
radius,
unit: Incomplete | None = ...,
withdist: bool = ...,
withcoord: bool = ...,
withhash: bool = ...,
count: Incomplete | None = ...,
sort: Incomplete | None = ...,
store: Incomplete | None = ...,
store_dist: Incomplete | None = ...,
any: bool = ...,
) -> Any: ...
def georadiusbymember( # type: ignore[override]
self,
name,
member,
radius,
unit: Incomplete | None = ...,
withdist: bool = ...,
withcoord: bool = ...,
withhash: bool = ...,
count: Incomplete | None = ...,
sort: Incomplete | None = ...,
store: Incomplete | None = ...,
store_dist: Incomplete | None = ...,
any: bool = ...,
) -> Any: ...
def geosearch( # type: ignore[override]
self,
name,
member: Incomplete | None = ...,
longitude: Incomplete | None = ...,
latitude: Incomplete | None = ...,
unit: str = ...,
radius: Incomplete | None = ...,
width: Incomplete | None = ...,
height: Incomplete | None = ...,
sort: Incomplete | None = ...,
count: Incomplete | None = ...,
any: bool = ...,
withcoord: bool = ...,
withdist: bool = ...,
withhash: bool = ...,
) -> Any: ...
def geosearchstore( # type: ignore[override]
self,
dest,
name,
member: Incomplete | None = ...,
longitude: Incomplete | None = ...,
latitude: Incomplete | None = ...,
unit: str = ...,
radius: Incomplete | None = ...,
width: Incomplete | None = ...,
height: Incomplete | None = ...,
sort: Incomplete | None = ...,
count: Incomplete | None = ...,
any: bool = ...,
storedist: bool = ...,
) -> Any: ...
# endregion
# region list commands
@overload
def blpop(self, keys: _Value | Iterable[_Value], timeout: Literal[0] | None = ...) -> Any: ... # type: ignore[override]
@overload
def blpop(self, keys: _Value | Iterable[_Value], timeout: float) -> Any: ... # type: ignore[override]
@overload
def brpop(self, keys: _Value | Iterable[_Value], timeout: Literal[0] | None = ...) -> Any: ... # type: ignore[override]
@overload
def brpop(self, keys: _Value | Iterable[_Value], timeout: float) -> Any: ... # type: ignore[override]
def brpoplpush(self, src, dst, timeout: int | None = ...) -> Any: ... # type: ignore[override]
def lindex(self, name: _Key, index: int) -> Any: ... # type: ignore[override]
def linsert( # type: ignore[override]
self, name: _Key, where: Literal["BEFORE", "AFTER", "before", "after"], refvalue: _Value, value: _Value
) -> Any: ...
def llen(self, name: _Key) -> Any: ... # type: ignore[override]
def lpop(self, name, count: int | None = ...) -> Any: ... # type: ignore[override]
def lpush(self, name: _Value, *values: _Value) -> Any: ... # type: ignore[override]
def lpushx(self, name, value) -> Any: ... # type: ignore[override]
def lrange(self, name: _Key, start: int, end: int) -> Any: ... # type: ignore[override]
def lrem(self, name: _Key, count: int, value: _Value) -> Any: ... # type: ignore[override]
def lset(self, name: _Key, index: int, value: _Value) -> Any: ... # type: ignore[override]
def ltrim(self, name: _Key, start: int, end: int) -> Any: ... # type: ignore[override]
def rpop(self, name, count: int | None = ...) -> Any: ... # type: ignore[override]
def rpoplpush(self, src, dst) -> Any: ... # type: ignore[override]
def rpush(self, name: _Value, *values: _Value) -> Any: ... # type: ignore[override]
def rpushx(self, name, value) -> Any: ... # type: ignore[override]
def lpos(self, name, value, rank: Incomplete | None = ..., count: Incomplete | None = ..., maxlen: Incomplete | None = ...) -> Any: ... # type: ignore[override]
@overload # type: ignore[override]
def sort(
self,
name: _Key,
start: int | None = ...,
num: int | None = ...,
by: _Key | None = ...,
get: _Key | Sequence[_Key] | None = ...,
desc: bool = ...,
alpha: bool = ...,
store: None = ...,
groups: bool = ...,
) -> list[_StrType]: ...
@overload # type: ignore[override]
def sort(
self,
name: _Key,
start: int | None = ...,
num: int | None = ...,
by: _Key | None = ...,
get: _Key | Sequence[_Key] | None = ...,
desc: bool = ...,
alpha: bool = ...,
*,
store: _Key,
groups: bool = ...,
) -> Any: ...
@overload # type: ignore[override]
def sort(
self,
name: _Key,
start: int | None,
num: int | None,
by: _Key | None,
get: _Key | Sequence[_Key] | None,
desc: bool,
alpha: bool,
store: _Key,
groups: bool = ...,
) -> Any: ...
# endregion
# region scan commands
def scan( # type: ignore[override]
self,
cursor: int = ...,
match: _Key | None = ...,
count: int | None = ...,
_type: str | None = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def sscan(self, name: _Key, cursor: int = ..., match: _Key | None = ..., count: int | None = ...) -> Any: ... # type: ignore[override]
def hscan(self, name: _Key, cursor: int = ..., match: _Key | None = ..., count: int | None = ...) -> Any: ... # type: ignore[override]
@overload # type: ignore[override]
def zscan(self, name: _Key, cursor: int = ..., match: _Key | None = ..., count: int | None = ...) -> Any: ...
@overload # type: ignore[override]
def zscan(
self,
name: _Key,
cursor: int = ...,
match: _Key | None = ...,
count: int | None = ...,
*,
score_cast_func: Callable[[_StrType], Any],
) -> Any: ...
@overload # type: ignore[override]
def zscan(
self, name: _Key, cursor: int, match: _Key | None, count: int | None, score_cast_func: Callable[[_StrType], Any]
) -> Any: ...
# endregion
# region set commands
def sadd(self, name: _Key, *values: _Value) -> Any: ... # type: ignore[override]
def scard(self, name: _Key) -> Any: ... # type: ignore[override]
def sdiff(self, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def sdiffstore(self, dest: _Key, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def sinter(self, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def sinterstore(self, dest: _Key, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def sismember(self, name: _Key, value: _Value) -> Any: ... # type: ignore[override]
def smembers(self, name: _Key) -> Any: ... # type: ignore[override]
def smismember(self, name, values, *args) -> Any: ... # type: ignore[override]
def smove(self, src: _Key, dst: _Key, value: _Value) -> Any: ... # type: ignore[override]
@overload # type: ignore[override]
def spop(self, name: _Key, count: None = ...) -> Any: ...
@overload # type: ignore[override]
def spop(self, name: _Key, count: int) -> Any: ...
@overload # type: ignore[override]
def srandmember(self, name: _Key, number: None = ...) -> Any: ...
@overload # type: ignore[override]
def srandmember(self, name: _Key, number: int) -> Any: ...
def srem(self, name: _Key, *values: _Value) -> Any: ... # type: ignore[override]
def sunion(self, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
def sunionstore(self, dest: _Key, keys: _Key | Iterable[_Key], *args: _Key) -> Any: ... # type: ignore[override]
# endregion
# region stream commands
def xack(self, name, groupname, *ids) -> Any: ... # type: ignore[override]
def xadd( # type: ignore[override]
self,
name,
fields,
id: str = ...,
maxlen=...,
approximate: bool = ...,
nomkstream: bool = ...,
minid: Incomplete | None = ...,
limit: Incomplete | None = ...,
) -> Any: ...
def xautoclaim( # type: ignore[override]
self,
name,
groupname,
consumername,
min_idle_time,
start_id: int = ...,
count: Incomplete | None = ...,
justid: bool = ...,
) -> Any: ...
def xclaim( # type: ignore[override]
self, name, groupname, consumername, min_idle_time, message_ids, idle=..., time=..., retrycount=..., force=..., justid=...
) -> Any: ...
def xdel(self, name, *ids) -> Any: ... # type: ignore[override]
def xgroup_create(self, name, groupname, id: str = ..., mkstream: bool = ..., entries_read: int | None = ...) -> Any: ... # type: ignore[override]
def xgroup_delconsumer(self, name, groupname, consumername) -> Any: ... # type: ignore[override]
def xgroup_destroy(self, name, groupname) -> Any: ... # type: ignore[override]
def xgroup_createconsumer(self, name, groupname, consumername) -> Any: ... # type: ignore[override]
def xgroup_setid(self, name, groupname, id, entries_read: int | None = ...) -> Any: ... # type: ignore[override]
def xinfo_consumers(self, name, groupname) -> Any: ... # type: ignore[override]
def xinfo_groups(self, name) -> Any: ... # type: ignore[override]
def xinfo_stream(self, name, full: bool = ...) -> Any: ... # type: ignore[override]
def xlen(self, name: _Key) -> Any: ... # type: ignore[override]
def xpending(self, name, groupname) -> Any: ... # type: ignore[override]
def xpending_range( # type: ignore[override]
self, name: _Key, groupname, min, max, count: int, consumername: Incomplete | None = ..., idle: int | None = ...
) -> Any: ...
def xrange(self, name, min: str = ..., max: str = ..., count: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def xread(self, streams, count: Incomplete | None = ..., block: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def xreadgroup( # type: ignore[override]
self, groupname, consumername, streams, count: Incomplete | None = ..., block: Incomplete | None = ..., noack: bool = ...
) -> Any: ...
def xrevrange(self, name, max: str = ..., min: str = ..., count: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def xtrim( # type: ignore[override]
self, name, maxlen: int | None = ..., approximate: bool = ..., minid: Incomplete | None = ..., limit: int | None = ...
) -> Any: ...
# endregion
# region sorted set commands
def zadd( # type: ignore[override]
self,
name: _Key,
mapping: Mapping[_Key, _Value],
nx: bool = ...,
xx: bool = ...,
ch: bool = ...,
incr: bool = ...,
gt: Incomplete | None = ...,
lt: Incomplete | None = ...,
) -> Any: ...
def zcard(self, name: _Key) -> Any: ... # type: ignore[override]
def zcount(self, name: _Key, min: _Value, max: _Value) -> Any: ... # type: ignore[override]
def zdiff(self, keys, withscores: bool = ...) -> Any: ... # type: ignore[override]
def zdiffstore(self, dest, keys) -> Any: ... # type: ignore[override]
def zincrby(self, name: _Key, amount: float, value: _Value) -> Any: ... # type: ignore[override]
def zinter(self, keys, aggregate: Incomplete | None = ..., withscores: bool = ...) -> Any: ... # type: ignore[override]
def zinterstore(self, dest: _Key, keys: Iterable[_Key], aggregate: Literal["SUM", "MIN", "MAX"] | None = ...) -> Any: ... # type: ignore[override]
def zlexcount(self, name: _Key, min: _Value, max: _Value) -> Any: ... # type: ignore[override]
def zpopmax(self, name: _Key, count: int | None = ...) -> Any: ... # type: ignore[override]
def zpopmin(self, name: _Key, count: int | None = ...) -> Any: ... # type: ignore[override]
def zrandmember(self, key, count: Incomplete | None = ..., withscores: bool = ...) -> Any: ... # type: ignore[override]
@overload # type: ignore[override]
def bzpopmax(self, keys: _Key | Iterable[_Key], timeout: Literal[0] = ...) -> Any: ...
@overload # type: ignore[override]
def bzpopmax(self, keys: _Key | Iterable[_Key], timeout: float) -> Any: ...
@overload # type: ignore[override]
def bzpopmin(self, keys: _Key | Iterable[_Key], timeout: Literal[0] = ...) -> Any: ...
@overload # type: ignore[override]
def bzpopmin(self, keys: _Key | Iterable[_Key], timeout: float) -> Any: ...
@overload # type: ignore[override]
def zrange(
self,
name: _Key,
start: int,
end: int,
desc: bool,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], Any],
byscore: bool = ...,
bylex: bool = ...,
offset: int | None = ...,
num: int | None = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrange(
self,
name: _Key,
start: int,
end: int,
desc: bool,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], float] = ...,
byscore: bool = ...,
bylex: bool = ...,
offset: int | None = ...,
num: int | None = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrange(
self,
name: _Key,
start: int,
end: int,
*,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], None],
byscore: bool = ...,
bylex: bool = ...,
offset: int | None = ...,
num: int | None = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrange(
self,
name: _Key,
start: int,
end: int,
*,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], float] = ...,
byscore: bool = ...,
bylex: bool = ...,
offset: int | None = ...,
num: int | None = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrange(
self,
name: _Key,
start: int,
end: int,
desc: bool = ...,
withscores: bool = ...,
score_cast_func: Callable[[_StrType], Any] = ...,
byscore: bool = ...,
bylex: bool = ...,
offset: int | None = ...,
num: int | None = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrevrange(
self, name: _Key, start: int, end: int, withscores: Literal[True], score_cast_func: Callable[[_StrType], None]
) -> Any: ...
@overload # type: ignore[override]
def zrevrange(self, name: _Key, start: int, end: int, withscores: Literal[True]) -> Any: ...
@overload # type: ignore[override]
def zrevrange(
self, name: _Key, start: int, end: int, withscores: bool = ..., score_cast_func: Callable[[Any], Any] = ...
) -> Any: ...
def zrangestore( # type: ignore[override]
self,
dest,
name,
start,
end,
byscore: bool = ...,
bylex: bool = ...,
desc: bool = ...,
offset: Incomplete | None = ...,
num: Incomplete | None = ...,
) -> Any: ...
def zrangebylex(self, name: _Key, min: _Value, max: _Value, start: int | None = ..., num: int | None = ...) -> Any: ... # type: ignore[override]
def zrevrangebylex(self, name: _Key, max: _Value, min: _Value, start: int | None = ..., num: int | None = ...) -> Any: ... # type: ignore[override]
@overload # type: ignore[override]
def zrangebyscore(
self,
name: _Key,
min: _Value,
max: _Value,
start: int | None = ...,
num: int | None = ...,
*,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], None],
) -> Any: ...
@overload # type: ignore[override]
def zrangebyscore(
self, name: _Key, min: _Value, max: _Value, start: int | None = ..., num: int | None = ..., *, withscores: Literal[True]
) -> Any: ...
@overload # type: ignore[override]
def zrangebyscore(
self,
name: _Key,
min: _Value,
max: _Value,
start: int | None = ...,
num: int | None = ...,
withscores: bool = ...,
score_cast_func: Callable[[_StrType], Any] = ...,
) -> Any: ...
@overload # type: ignore[override]
def zrevrangebyscore(
self,
name: _Key,
max: _Value,
min: _Value,
start: int | None = ...,
num: int | None = ...,
*,
withscores: Literal[True],
score_cast_func: Callable[[_StrType], Any],
) -> Any: ...
@overload # type: ignore[override]
def zrevrangebyscore(
self, name: _Key, max: _Value, min: _Value, start: int | None = ..., num: int | None = ..., *, withscores: Literal[True]
) -> Any: ...
@overload # type: ignore[override]
def zrevrangebyscore(
self,
name: _Key,
max: _Value,
min: _Value,
start: int | None = ...,
num: int | None = ...,
withscores: bool = ...,
score_cast_func: Callable[[_StrType], Any] = ...,
) -> Any: ...
def zrank(self, name: _Key, value: _Value) -> Any: ... # type: ignore[override]
def zrem(self, name: _Key, *values: _Value) -> Any: ... # type: ignore[override]
def zremrangebylex(self, name: _Key, min: _Value, max: _Value) -> Any: ... # type: ignore[override]
def zremrangebyrank(self, name: _Key, min: int, max: int) -> Any: ... # type: ignore[override]
def zremrangebyscore(self, name: _Key, min: _Value, max: _Value) -> Any: ... # type: ignore[override]
def zrevrank(self, name: _Key, value: _Value) -> Any: ... # type: ignore[override]
def zscore(self, name: _Key, value: _Value) -> Any: ... # type: ignore[override]
def zunion(self, keys, aggregate: Incomplete | None = ..., withscores: bool = ...) -> Any: ... # type: ignore[override]
def zunionstore(self, dest: _Key, keys: Iterable[_Key], aggregate: Literal["SUM", "MIN", "MAX"] | None = ...) -> Any: ... # type: ignore[override]
def zmscore(self, key, members) -> Any: ... # type: ignore[override]
# endregion
# region management commands
def bgrewriteaof(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def bgsave(self, schedule: bool = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def role(self) -> Any: ... # type: ignore[override]
def client_kill(self, address: str, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_kill_filter( # type: ignore[override]
self,
_id: Incomplete | None = ...,
_type: Incomplete | None = ...,
addr: Incomplete | None = ...,
skipme: Incomplete | None = ...,
laddr: Incomplete | None = ...,
user: Incomplete | None = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def client_info(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_list(self, _type: str | None = ..., client_id: list[str] = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_getname(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_getredir(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_reply(self, reply, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_id(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_tracking_on( # type: ignore[override]
self,
clientid: Incomplete | None = ...,
prefix=...,
bcast: bool = ...,
optin: bool = ...,
optout: bool = ...,
noloop: bool = ...,
) -> Any: ...
def client_tracking_off( # type: ignore[override]
self,
clientid: Incomplete | None = ...,
prefix=...,
bcast: bool = ...,
optin: bool = ...,
optout: bool = ...,
noloop: bool = ...,
) -> Any: ...
def client_tracking( # type: ignore[override]
self,
on: bool = ...,
clientid: Incomplete | None = ...,
prefix=...,
bcast: bool = ...,
optin: bool = ...,
optout: bool = ...,
noloop: bool = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def client_trackinginfo(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_setname(self, name: str, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_unblock(self, client_id, error: bool = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_pause(self, timeout, all: bool = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def client_unpause(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def command(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def command_info(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def command_count(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def config_get(self, pattern: PatternT = ..., *args: PatternT, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def config_set(self, name: KeyT, value: EncodableT, *args: KeyT | EncodableT, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def config_resetstat(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def config_rewrite(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def dbsize(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def debug_object(self, key, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def debug_segfault(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def echo(self, value: _Value, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def flushall(self, asynchronous: bool = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def flushdb(self, asynchronous: bool = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def sync(self) -> Any: ... # type: ignore[override]
def psync(self, replicationid, offset) -> Any: ... # type: ignore[override]
def swapdb(self, first, second, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def select(self, index, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def info(self, section: _Key | None = ..., *args: _Key, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def lastsave(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def lolwut(self, *version_numbers: _Value, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def migrate( # type: ignore[override]
self,
host,
port,
keys,
destination_db,
timeout,
copy: bool = ...,
replace: bool = ...,
auth: Incomplete | None = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def object(self, infotype, key, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_doctor(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_help(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_stats(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_malloc_stats(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_usage(self, key, samples: Incomplete | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def memory_purge(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def ping(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def quit(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def replicaof(self, *args, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def save(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def shutdown( # type: ignore[override]
self,
save: bool = ...,
nosave: bool = ...,
now: bool = ...,
force: bool = ...,
abort: bool = ...,
**kwargs: _CommandOptions,
) -> Any: ...
def slaveof(self, host: Incomplete | None = ..., port: Incomplete | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def slowlog_get(self, num: Incomplete | None = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def slowlog_len(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def slowlog_reset(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def time(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def wait(self, num_replicas, timeout, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
# endregion
# region module commands
def module_load(self, path, *args) -> Any: ... # type: ignore[override]
def module_unload(self, name) -> Any: ... # type: ignore[override]
def module_list(self) -> Any: ... # type: ignore[override]
def command_getkeys(self, *args) -> Any: ... # type: ignore[override]
# endregion
# region pubsub commands
def publish(self, channel: _Key, message: _Key, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def pubsub_channels(self, pattern: _Key = ..., **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def pubsub_numpat(self, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
def pubsub_numsub(self, *args: _Key, **kwargs: _CommandOptions) -> Any: ... # type: ignore[override]
# endregion
# region script commands
def eval(self, script, numkeys, *keys_and_args) -> Any: ... # type: ignore[override]
def evalsha(self, sha, numkeys, *keys_and_args) -> Any: ... # type: ignore[override]
def script_exists(self, *args) -> Any: ... # type: ignore[override]
def script_debug(self, *args) -> Any: ... # type: ignore[override]
def script_flush(self, sync_type: Incomplete | None = ...) -> Any: ... # type: ignore[override]
def script_kill(self) -> Any: ... # type: ignore[override]
def script_load(self, script) -> Any: ... # type: ignore[override]
def register_script(self, script: str | _StrType) -> Any: ... # type: ignore[override]
# endregion