SYMBOL INDEX (8361 symbols across 227 files) FILE: benchmarks/base.py class Benchmark (line 9) | class Benchmark: method __init__ (line 12) | def __init__(self): method get_client (line 15) | def get_client(self, **kwargs): method setup (line 25) | def setup(self, **kwargs): method run (line 28) | def run(self, **kwargs): method run_benchmark (line 31) | def run_benchmark(self): FILE: benchmarks/basic_operations.py function parse_args (line 8) | def parse_args(): function run (line 30) | def run(): function timer (line 45) | def timer(func): function set_str (line 65) | def set_str(conn, num, pipeline_size, data_size): function set_int (line 80) | def set_int(conn, num, pipeline_size, data_size): function get_str (line 95) | def get_str(conn, num, pipeline_size, data_size): function get_int (line 109) | def get_int(conn, num, pipeline_size, data_size): function incr (line 123) | def incr(conn, num, pipeline_size, *args, **kwargs): function lpush (line 137) | def lpush(conn, num, pipeline_size, data_size): function lrange_300 (line 152) | def lrange_300(conn, num, pipeline_size, data_size): function lpop (line 166) | def lpop(conn, num, pipeline_size, data_size): function hmset (line 178) | def hmset(conn, num, pipeline_size, data_size): FILE: benchmarks/cluster_async.py function timer (line 12) | def timer(func): function set_str (line 24) | async def set_str(client, gather, data): function set_int (line 39) | async def set_int(client, gather, data): function get_str (line 54) | async def get_str(client, gather): function get_int (line 66) | async def get_int(client, gather): function hset (line 78) | async def hset(client, gather, data): function hget (line 93) | async def hget(client, gather): function incr (line 108) | async def incr(client, gather): function lpush (line 120) | async def lpush(client, gather, data): function lrange_300 (line 135) | async def lrange_300(client, gather): function lpop (line 150) | async def lpop(client, gather): function warmup (line 162) | async def warmup(client): function run (line 169) | async def run(client, gather): function main (line 204) | async def main(loop, gather=None): FILE: benchmarks/cluster_async_pipeline.py function timer (line 12) | def timer(func): function warmup (line 24) | async def warmup(client): function run (line 31) | async def run(client): function main (line 52) | async def main(loop): FILE: benchmarks/command_packer_benchmark.py class StringJoiningConnection (line 6) | class StringJoiningConnection(Connection): method send_packed_command (line 7) | def send_packed_command(self, command, check_health=True): method pack_command (line 24) | def pack_command(self, *args): class ListJoiningConnection (line 40) | class ListJoiningConnection(Connection): method send_packed_command (line 41) | def send_packed_command(self, command, check_health=True): method pack_command (line 60) | def pack_command(self, *args): class CommandPackerBenchmark (line 80) | class CommandPackerBenchmark(Benchmark): method setup (line 92) | def setup(self, connection_class, value_size): method run (line 95) | def run(self, connection_class, value_size): FILE: benchmarks/otel_benchmark.py class BenchmarkResult (line 51) | class BenchmarkResult: class LoadGeneratorConfig (line 74) | class LoadGeneratorConfig: class ComprehensiveLoadGenerator (line 84) | class ComprehensiveLoadGenerator: method __init__ (line 100) | def __init__(self, config: LoadGeneratorConfig, redis_module: Any = No... method _get_redis_module (line 135) | def _get_redis_module(self) -> Any: method _get_key (line 142) | def _get_key(self) -> str: method setup (line 148) | def setup(self) -> None: method teardown (line 205) | def teardown(self) -> None: method _run_operation (line 236) | def _run_operation(self) -> float: method warmup (line 292) | def warmup(self) -> None: method _sample_resources (line 304) | def _sample_resources(self) -> None: method run (line 319) | def run(self) -> BenchmarkResult: method _calculate_results (line 357) | def _calculate_results(self, duration: float) -> BenchmarkResult: class AsyncComprehensiveLoadGenerator (line 402) | class AsyncComprehensiveLoadGenerator: method __init__ (line 416) | def __init__(self, config: LoadGeneratorConfig, redis_module: Any = No... method _get_redis_module (line 448) | def _get_redis_module(self) -> Any: method _get_key (line 455) | def _get_key(self) -> str: method setup (line 461) | async def setup(self) -> None: method teardown (line 503) | async def teardown(self) -> None: method _run_operation (line 528) | async def _run_operation(self) -> float: method warmup (line 594) | async def warmup(self) -> None: method _sample_resources (line 606) | def _sample_resources(self) -> None: method run (line 619) | async def run(self) -> BenchmarkResult: method _calculate_results (line 657) | def _calculate_results(self, duration: float) -> BenchmarkResult: function print_result (line 702) | def print_result(result: BenchmarkResult, iterations: int = 1) -> None: function average_results (line 735) | def average_results(results: List[BenchmarkResult]) -> BenchmarkResult: function parse_args (line 777) | def parse_args() -> argparse.Namespace: function _clear_redis_modules (line 839) | def _clear_redis_modules() -> None: function run_baseline_scenario (line 846) | def run_baseline_scenario(tag: str, config: LoadGeneratorConfig) -> Opti... function run_baseline_scenario_async (line 902) | async def run_baseline_scenario_async(tag: str, config: LoadGeneratorCon... function _get_metric_groups_for_benchmark (line 959) | def _get_metric_groups_for_benchmark(metric_group_names: Optional[List[s... function setup_scenario (line 997) | def setup_scenario( function run_iteration (line 1104) | def run_iteration(scenario: str, config: LoadGeneratorConfig, descriptio... function run_iteration_async (line 1128) | async def run_iteration_async(scenario: str, config: LoadGeneratorConfig... function main (line 1153) | def main() -> int: function _run_sync_benchmark (line 1215) | def _run_sync_benchmark(args: argparse.Namespace, config: LoadGeneratorC... function _run_async_benchmark (line 1244) | async def _run_async_benchmark(args: argparse.Namespace, config: LoadGen... FILE: benchmarks/socket_read_size.py class SocketReadBenchmark (line 6) | class SocketReadBenchmark(Benchmark): method setup (line 16) | def setup(self, value_size, read_size, parser): method run (line 20) | def run(self, value_size, read_size, parser): FILE: docs/examples/opentelemetry/main.py function main (line 13) | def main(): function handle_request (line 31) | def handle_request(client): FILE: doctests/query_combined.py function embed_text (line 14) | def embed_text(model, text): FILE: doctests/search_vss.py function create_query_table (line 260) | def create_query_table(query, queries, encoded_queries, extra_params=None): FILE: doctests/trans_pipe.py function watched_sequence (line 80) | def watched_sequence(pipe): FILE: redis/__init__.py function int_or_str (line 43) | def int_or_str(value): FILE: redis/_parsers/base.py class BaseParser (line 73) | class BaseParser(ABC): method parse_error (line 110) | def parse_error(cls, response): method on_disconnect (line 121) | def on_disconnect(self): method on_connect (line 124) | def on_connect(self, connection): class _RESPBase (line 128) | class _RESPBase(BaseParser): method __init__ (line 131) | def __init__(self, socket_read_size): method __del__ (line 137) | def __del__(self): method on_connect (line 143) | def on_connect(self, connection): method on_disconnect (line 151) | def on_disconnect(self): method can_read (line 159) | def can_read(self, timeout): class AsyncBaseParser (line 163) | class AsyncBaseParser(BaseParser): method __init__ (line 168) | def __init__(self, socket_read_size: int): method can_read_destructive (line 172) | async def can_read_destructive(self) -> bool: method read_response (line 175) | async def read_response( class MaintenanceNotificationsParser (line 181) | class MaintenanceNotificationsParser: method parse_oss_maintenance_start_msg (line 185) | def parse_oss_maintenance_start_msg(response): method parse_oss_maintenance_completed_msg (line 193) | def parse_oss_maintenance_completed_msg(response): method parse_maintenance_start_msg (line 219) | def parse_maintenance_start_msg(response, notification_type): method parse_maintenance_completed_msg (line 229) | def parse_maintenance_completed_msg(response, notification_type): method parse_moving_msg (line 238) | def parse_moving_msg(response): class PushNotificationsParser (line 303) | class PushNotificationsParser(Protocol): method handle_pubsub_push_response (line 312) | def handle_pubsub_push_response(self, response): method handle_push_response (line 316) | def handle_push_response(self, response, **kwargs): method set_pubsub_push_handler (line 379) | def set_pubsub_push_handler(self, pubsub_push_handler_func): method set_invalidation_push_handler (line 382) | def set_invalidation_push_handler(self, invalidation_push_handler_func): method set_node_moving_push_handler (line 385) | def set_node_moving_push_handler(self, node_moving_push_handler_func): method set_maintenance_push_handler (line 388) | def set_maintenance_push_handler(self, maintenance_push_handler_func): method set_oss_cluster_maint_push_handler (line 391) | def set_oss_cluster_maint_push_handler(self, oss_cluster_maint_push_ha... class AsyncPushNotificationsParser (line 395) | class AsyncPushNotificationsParser(Protocol): method handle_pubsub_push_response (line 404) | async def handle_pubsub_push_response(self, response): method handle_push_response (line 408) | async def handle_push_response(self, response, **kwargs): method set_pubsub_push_handler (line 471) | def set_pubsub_push_handler(self, pubsub_push_handler_func): method set_invalidation_push_handler (line 475) | def set_invalidation_push_handler(self, invalidation_push_handler_func): method set_node_moving_push_handler (line 479) | def set_node_moving_push_handler(self, node_moving_push_handler_func): method set_maintenance_push_handler (line 482) | def set_maintenance_push_handler(self, maintenance_push_handler_func): method set_oss_cluster_maint_push_handler (line 485) | def set_oss_cluster_maint_push_handler(self, oss_cluster_maint_push_ha... class _AsyncRESPBase (line 489) | class _AsyncRESPBase(AsyncBaseParser): method __init__ (line 494) | def __init__(self, socket_read_size: int): method _clear (line 501) | def _clear(self): method on_connect (line 505) | def on_connect(self, connection): method on_disconnect (line 514) | def on_disconnect(self): method can_read_destructive (line 518) | async def can_read_destructive(self) -> bool: method _read (line 529) | async def _read(self, length: int) -> bytes: method _readline (line 549) | async def _readline(self) -> bytes: FILE: redis/_parsers/commands.py class RequestPolicy (line 11) | class RequestPolicy(Enum): class ResponsePolicy (line 22) | class ResponsePolicy(Enum): class CommandPolicies (line 35) | class CommandPolicies: method __init__ (line 36) | def __init__( class AbstractCommandsParser (line 48) | class AbstractCommandsParser: method _get_pubsub_keys (line 49) | def _get_pubsub_keys(self, *args): method parse_subcommand (line 78) | def parse_subcommand(self, command, **options): class CommandsParser (line 94) | class CommandsParser(AbstractCommandsParser): method __init__ (line 103) | def __init__(self, redis_connection): method initialize (line 108) | def initialize(self, r): method get_keys (line 121) | def get_keys(self, redis_conn, *args): method _get_moveable_keys (line 188) | def _get_moveable_keys(self, redis_conn, *args): method _is_keyless_command (line 213) | def _is_keyless_command( method get_command_policies (line 255) | def get_command_policies(self) -> PolicyRecords: class AsyncCommandsParser (line 398) | class AsyncCommandsParser(AbstractCommandsParser): method __init__ (line 416) | def __init__(self) -> None: method initialize (line 419) | async def initialize(self, node: Optional["ClusterNode"] = None) -> None: method get_keys (line 429) | async def get_keys(self, *args: Any) -> Optional[Tuple[str, ...]]: method _get_moveable_keys (line 496) | async def _get_moveable_keys(self, *args: Any) -> Optional[Tuple[str, ... method _is_keyless_command (line 510) | async def _is_keyless_command( method get_command_policies (line 552) | async def get_command_policies(self) -> Awaitable[PolicyRecords]: FILE: redis/_parsers/encoders.py class Encoder (line 4) | class Encoder: method __init__ (line 9) | def __init__(self, encoding, encoding_errors, decode_responses): method encode (line 14) | def encode(self, value): method decode (line 37) | def decode(self, value, force=False): FILE: redis/_parsers/helpers.py function timestamp_to_datetime (line 6) | def timestamp_to_datetime(response): function parse_debug_object (line 17) | def parse_debug_object(response): function parse_info (line 35) | def parse_info(response): function parse_memory_stats (line 86) | def parse_memory_stats(response, **kwargs): function parse_sentinel_state (line 124) | def parse_sentinel_state(item): function parse_sentinel_master (line 140) | def parse_sentinel_master(response, **options): function parse_sentinel_state_resp3 (line 144) | def parse_sentinel_state_resp3(response, **options): function parse_sentinel_masters (line 157) | def parse_sentinel_masters(response, **options): function parse_sentinel_masters_resp3 (line 165) | def parse_sentinel_masters_resp3(response, **options): function parse_sentinel_slaves_and_sentinels (line 169) | def parse_sentinel_slaves_and_sentinels(response, **options): function parse_sentinel_slaves_and_sentinels_resp3 (line 173) | def parse_sentinel_slaves_and_sentinels_resp3(response, **options): function parse_sentinel_get_master (line 177) | def parse_sentinel_get_master(response, **options): function pairs_to_dict (line 181) | def pairs_to_dict(response, decode_keys=False, decode_string_values=False): function pairs_to_dict_typed (line 200) | def pairs_to_dict_typed(response, type_info): function zset_score_pairs (line 215) | def zset_score_pairs(response, **options): function zset_score_for_rank (line 227) | def zset_score_for_rank(response, **options): function zset_score_pairs_resp3 (line 238) | def zset_score_pairs_resp3(response, **options): function zset_score_for_rank_resp3 (line 249) | def zset_score_for_rank_resp3(response, **options): function sort_return_tuples (line 260) | def sort_return_tuples(response, **options): function parse_stream_list (line 271) | def parse_stream_list(response, **options): function pairs_to_dict_with_str_keys (line 286) | def pairs_to_dict_with_str_keys(response): function parse_list_of_dicts (line 290) | def parse_list_of_dicts(response): function parse_xclaim (line 294) | def parse_xclaim(response, **options): function parse_xautoclaim (line 300) | def parse_xautoclaim(response, **options): function parse_xinfo_stream (line 307) | def parse_xinfo_stream(response, **options): function parse_xread (line 338) | def parse_xread(response, **options): function parse_xread_resp3 (line 344) | def parse_xread_resp3(response, **options): function parse_xpending (line 352) | def parse_xpending(response, **options): function parse_xpending_range (line 364) | def parse_xpending_range(response): function float_or_none (line 369) | def float_or_none(response): function bool_ok (line 375) | def bool_ok(response, **options): function parse_zadd (line 379) | def parse_zadd(response, **options): function parse_client_list (line 387) | def parse_client_list(response, **options): function parse_config_get (line 409) | def parse_config_get(response, **options): function parse_scan (line 414) | def parse_scan(response, **options): function parse_hscan (line 419) | def parse_hscan(response, **options): function parse_zscan (line 429) | def parse_zscan(response, **options): function parse_zmscore (line 436) | def parse_zmscore(response, **options): function parse_slowlog_get (line 441) | def parse_slowlog_get(response, **options): function parse_stralgo (line 470) | def parse_stralgo(response, **options): function parse_cluster_info (line 499) | def parse_cluster_info(response, **options): function _parse_node_line (line 504) | def _parse_node_line(line): function _parse_slots (line 527) | def _parse_slots(slot_ranges): function parse_cluster_nodes (line 547) | def parse_cluster_nodes(response, **options): function parse_geosearch_generic (line 557) | def parse_geosearch_generic(response, **options): function parse_command (line 593) | def parse_command(response, **options): function parse_command_resp3 (line 612) | def parse_command_resp3(response, **options): function parse_pubsub_numsub (line 633) | def parse_pubsub_numsub(response, **options): function parse_client_kill (line 637) | def parse_client_kill(response, **options): function parse_acl_getuser (line 643) | def parse_acl_getuser(response, **options): function parse_acl_log (line 686) | def parse_acl_log(response, **options): function parse_client_info (line 704) | def parse_client_info(value): function parse_set_result (line 736) | def parse_set_result(response, **options): function string_keys_to_dict (line 750) | def string_keys_to_dict(key_string, callback): FILE: redis/_parsers/hiredis.py class _HiredisReaderArgs (line 34) | class _HiredisReaderArgs(TypedDict, total=False): class _HiredisParser (line 41) | class _HiredisParser(BaseParser, PushNotificationsParser): method __init__ (line 44) | def __init__(self, socket_read_size): method __del__ (line 56) | def __del__(self): method handle_pubsub_push_response (line 62) | def handle_pubsub_push_response(self, response): method on_connect (line 67) | def on_connect(self, connection, **kwargs): method on_disconnect (line 90) | def on_disconnect(self): method can_read (line 95) | def can_read(self, timeout): method read_from_socket (line 105) | def read_from_socket(self, timeout=SENTINEL, raise_on_timeout=True): method read_response (line 135) | def read_response( class _AsyncHiredisParser (line 200) | class _AsyncHiredisParser(AsyncBaseParser, AsyncPushNotificationsParser): method __init__ (line 205) | def __init__(self, socket_read_size: int): method handle_pubsub_push_response (line 214) | async def handle_pubsub_push_response(self, response): method on_connect (line 219) | def on_connect(self, connection): method on_disconnect (line 243) | def on_disconnect(self): method can_read_destructive (line 246) | async def can_read_destructive(self): method read_from_socket (line 257) | async def read_from_socket(self): method read_response (line 266) | async def read_response( FILE: redis/_parsers/resp2.py class _RESP2Parser (line 9) | class _RESP2Parser(_RESPBase): method read_response (line 12) | def read_response( method _read_response (line 28) | def _read_response( class _AsyncRESP2Parser (line 77) | class _AsyncRESP2Parser(_AsyncRESPBase): method read_response (line 80) | async def read_response(self, disable_decoding: bool = False): method _read_response (line 93) | async def _read_response( FILE: redis/_parsers/resp3.py class _RESP3Parser (line 15) | class _RESP3Parser(_RESPBase, PushNotificationsParser): method __init__ (line 18) | def __init__(self, socket_read_size): method handle_pubsub_push_response (line 26) | def handle_pubsub_push_response(self, response): method read_response (line 31) | def read_response( method _read_response (line 58) | def _read_response( class _AsyncRESP3Parser (line 165) | class _AsyncRESP3Parser(_AsyncRESPBase, AsyncPushNotificationsParser): method __init__ (line 166) | def __init__(self, socket_read_size): method handle_pubsub_push_response (line 171) | async def handle_pubsub_push_response(self, response): method read_response (line 176) | async def read_response( method _read_response (line 191) | async def _read_response( FILE: redis/_parsers/socket.py class SocketBuffer (line 29) | class SocketBuffer: method __init__ (line 30) | def __init__( method unread_bytes (line 38) | def unread_bytes(self) -> int: method _read_from_socket (line 47) | def _read_from_socket( method can_read (line 94) | def can_read(self, timeout: float) -> bool: method read (line 99) | def read(self, length: int, timeout: Union[float, object] = SENTINEL) ... method readline (line 110) | def readline(self, timeout: Union[float, object] = SENTINEL) -> bytes: method get_pos (line 120) | def get_pos(self) -> int: method rewind (line 126) | def rewind(self, pos: int) -> None: method purge (line 132) | def purge(self) -> None: method close (line 151) | def close(self) -> None: FILE: redis/asyncio/client.py class ResponseCallbackProtocol (line 107) | class ResponseCallbackProtocol(Protocol): method __call__ (line 108) | def __call__(self, response: Any, **kwargs): ... class AsyncResponseCallbackProtocol (line 111) | class AsyncResponseCallbackProtocol(Protocol): method __call__ (line 112) | async def __call__(self, response: Any, **kwargs): ... class Redis (line 118) | class Redis( method from_url (line 139) | def from_url( method from_pool (line 208) | def from_pool( method __init__ (line 233) | def __init__( method __repr__ (line 427) | def __repr__(self): method __await__ (line 433) | def __await__(self): method initialize (line 436) | async def initialize(self: _RedisT) -> _RedisT: method set_response_callback (line 449) | def set_response_callback(self, command: str, callback: ResponseCallba... method get_encoder (line 453) | def get_encoder(self): method get_connection_kwargs (line 457) | def get_connection_kwargs(self): method get_retry (line 461) | def get_retry(self) -> Optional[Retry]: method set_retry (line 464) | def set_retry(self, retry: Retry) -> None: method load_external_module (line 468) | def load_external_module(self, funcname, func): method pipeline (line 491) | def pipeline( method transaction (line 505) | async def transaction( method lock (line 534) | def lock( method pubsub (line 615) | def pubsub(self, **kwargs) -> "PubSub": method monitor (line 625) | def monitor(self) -> "Monitor": method client (line 628) | def client(self) -> "Redis": method __aenter__ (line 633) | async def __aenter__(self: _RedisT) -> _RedisT: method _increment_usage (line 648) | async def _increment_usage(self) -> int: method _decrement_usage (line 657) | async def _decrement_usage(self) -> int: method __aexit__ (line 666) | async def __aexit__(self, exc_type, exc_value, traceback): method __del__ (line 680) | def __del__( method aclose (line 694) | async def aclose(self, close_connection_pool: Optional[bool] = None) -... method close (line 715) | async def close(self, close_connection_pool: Optional[bool] = None) ->... method _send_command_parse_response (line 721) | async def _send_command_parse_response(self, conn, command_name, *args... method _close_connection (line 728) | async def _close_connection( method execute_command (line 763) | async def execute_command(self, *args, **options): method parse_response (line 818) | async def parse_response( class MonitorCommandInfo (line 850) | class MonitorCommandInfo(TypedDict): class Monitor (line 859) | class Monitor: method __init__ (line 869) | def __init__(self, connection_pool: ConnectionPool): method connect (line 873) | async def connect(self): method __aenter__ (line 877) | async def __aenter__(self): method __aexit__ (line 886) | async def __aexit__(self, *args): method next_command (line 890) | async def next_command(self) -> MonitorCommandInfo: method listen (line 926) | async def listen(self) -> AsyncIterator[MonitorCommandInfo]: class PubSub (line 932) | class PubSub: method __init__ (line 945) | def __init__( method __aenter__ (line 986) | async def __aenter__(self): method __aexit__ (line 989) | async def __aexit__(self, exc_type, exc_value, traceback): method __del__ (line 992) | def __del__(self): method aclose (line 996) | async def aclose(self): method close (line 1014) | async def close(self) -> None: method reset (line 1019) | async def reset(self) -> None: method on_connect (line 1023) | async def on_connect(self, connection: Connection): method subscribed (line 1062) | def subscribed(self): method execute_command (line 1066) | async def execute_command(self, *args: EncodableT): method connect (line 1078) | async def connect(self): method _reconnect (line 1098) | async def _reconnect( method _execute (line 1130) | async def _execute(self, conn, command, *args, **kwargs): method parse_response (line 1182) | async def parse_response(self, block: bool = True, timeout: float = 0): method check_health (line 1247) | async def check_health(self): method _normalize_keys (line 1263) | def _normalize_keys(self, data: _NormalizeKeysT) -> _NormalizeKeysT: method psubscribe (line 1273) | async def psubscribe(self, *args: ChannelT, **kwargs: PubSubHandler): method punsubscribe (line 1294) | def punsubscribe(self, *args: ChannelT) -> Awaitable: method subscribe (line 1309) | async def subscribe(self, *args: ChannelT, **kwargs: Callable): method unsubscribe (line 1330) | def unsubscribe(self, *args) -> Awaitable: method listen (line 1344) | async def listen(self) -> AsyncIterator: method get_message (line 1351) | async def get_message( method ping (line 1366) | def ping(self, message=None) -> Awaitable[bool]: method handle_message (line 1376) | async def handle_message(self, response, ignore_subscribe_messages=Fal... method run (line 1449) | async def run( class PubsubWorkerExceptionHandler (line 1500) | class PubsubWorkerExceptionHandler(Protocol): method __call__ (line 1501) | def __call__(self, e: BaseException, pubsub: PubSub): ... class AsyncPubsubWorkerExceptionHandler (line 1504) | class AsyncPubsubWorkerExceptionHandler(Protocol): method __call__ (line 1505) | async def __call__(self, e: BaseException, pubsub: PubSub): ... class Pipeline (line 1517) | class Pipeline(Redis): # lgtm [py/init-calls-subclass] method __init__ (line 1539) | def __init__( method __aenter__ (line 1556) | async def __aenter__(self: _RedisT) -> _RedisT: method __aexit__ (line 1559) | async def __aexit__(self, exc_type, exc_value, traceback): method __await__ (line 1562) | def __await__(self): method __len__ (line 1567) | def __len__(self): method __bool__ (line 1570) | def __bool__(self): method _async_self (line 1574) | async def _async_self(self): method reset (line 1577) | async def reset(self): method aclose (line 1601) | async def aclose(self) -> None: method multi (line 1605) | def multi(self): method execute_command (line 1618) | def execute_command( method _disconnect_reset_raise_on_watching (line 1625) | async def _disconnect_reset_raise_on_watching( method immediate_execute_command (line 1667) | async def immediate_execute_command(self, *args, **options): method pipeline_execute_command (line 1723) | def pipeline_execute_command(self, *args, **options): method _execute_transaction (line 1738) | async def _execute_transaction( # noqa: C901 method _execute_pipeline (line 1816) | async def _execute_pipeline( method raise_first_error (line 1836) | def raise_first_error(self, commands: CommandStackT, response: Iterabl... method annotate_exception (line 1842) | def annotate_exception( method parse_response (line 1852) | async def parse_response( method load_scripts (line 1862) | async def load_scripts(self): method _disconnect_raise_on_watching (line 1875) | async def _disconnect_raise_on_watching( method execute (line 1915) | async def execute(self, raise_on_error: bool = True) -> List[Any]: method discard (line 1978) | async def discard(self): method watch (line 1984) | async def watch(self, *names: KeyT): method unwatch (line 1990) | async def unwatch(self): FILE: redis/asyncio/cluster.py class RedisCluster (line 107) | class RedisCluster(AbstractRedis, AbstractRedisCluster, AsyncRedisCluste... method from_url (line 210) | def from_url(cls, url: str, **kwargs: Any) -> "RedisCluster": method __init__ (line 274) | def __init__( method initialize (line 486) | async def initialize(self) -> "RedisCluster": method aclose (line 505) | async def aclose(self) -> None: method close (line 517) | async def close(self) -> None: method __aenter__ (line 521) | async def __aenter__(self) -> "RedisCluster": method _increment_usage (line 536) | async def _increment_usage(self) -> int: method _decrement_usage (line 545) | async def _decrement_usage(self) -> int: method __aexit__ (line 554) | async def __aexit__(self, exc_type, exc_value, traceback): method __await__ (line 564) | def __await__(self) -> Generator[Any, None, "RedisCluster"]: method __del__ (line 569) | def __del__( method on_connect (line 582) | async def on_connect(self, connection: Connection) -> None: method get_nodes (line 594) | def get_nodes(self) -> List["ClusterNode"]: method get_primaries (line 598) | def get_primaries(self) -> List["ClusterNode"]: method get_replicas (line 602) | def get_replicas(self) -> List["ClusterNode"]: method get_random_node (line 606) | def get_random_node(self) -> "ClusterNode": method get_default_node (line 610) | def get_default_node(self) -> "ClusterNode": method set_default_node (line 614) | def set_default_node(self, node: "ClusterNode") -> None: method get_node (line 625) | def get_node( method get_node_from_key (line 634) | def get_node_from_key( method get_random_primary_or_all_nodes (line 662) | def get_random_primary_or_all_nodes(self, command_name): method get_random_primary_node (line 671) | def get_random_primary_node(self) -> "ClusterNode": method get_nodes_from_slot (line 677) | async def get_nodes_from_slot(self, command: str, *args): method get_special_nodes (line 690) | def get_special_nodes(self) -> Optional[list["ClusterNode"]]: method keyslot (line 701) | def keyslot(self, key: EncodableT) -> int: method get_encoder (line 709) | def get_encoder(self) -> Encoder: method get_connection_kwargs (line 713) | def get_connection_kwargs(self) -> Dict[str, Optional[Any]]: method set_retry (line 717) | def set_retry(self, retry: Retry) -> None: method set_response_callback (line 720) | def set_response_callback(self, command: str, callback: ResponseCallba... method _determine_nodes (line 724) | async def _determine_nodes( method _determine_slot (line 754) | async def _determine_slot(self, command: str, *args: Any) -> int: method _is_node_flag (line 805) | def _is_node_flag(self, target_nodes: Any) -> bool: method _parse_target_nodes (line 808) | def _parse_target_nodes(self, target_nodes: Any) -> List["ClusterNode"]: method _record_error_metric (line 828) | async def _record_error_metric( method _record_command_metric (line 849) | async def _record_command_metric( method execute_command (line 874) | async def execute_command(self, *args: EncodableT, **kwargs: Any) -> Any: method _execute_command (line 1017) | async def _execute_command( method pipeline (line 1203) | def pipeline( method lock (line 1218) | def lock( method transaction (line 1299) | async def transaction( class ClusterNode (line 1324) | class ClusterNode: method __init__ (line 1347) | def __init__( method __repr__ (line 1378) | def __repr__(self) -> str: method __eq__ (line 1384) | def __eq__(self, obj: Any) -> bool: method __hash__ (line 1387) | def __hash__(self) -> int: method __del__ (line 1392) | def __del__( method disconnect (line 1408) | async def disconnect(self) -> None: method acquire_connection (line 1420) | def acquire_connection(self) -> Connection: method disconnect_if_needed (line 1447) | async def disconnect_if_needed(self, connection: Connection) -> None: method release (line 1456) | def release(self, connection: Connection) -> None: method update_active_connections_for_reconnect (line 1464) | def update_active_connections_for_reconnect(self) -> None: method disconnect_free_connections (line 1475) | async def disconnect_free_connections(self) -> None: method parse_response (line 1489) | async def parse_response( method execute_command (line 1515) | async def execute_command(self, *args: Any, **kwargs: Any) -> Any: method execute_pipeline (line 1532) | async def execute_pipeline(self, commands: List["PipelineCommand"]) ->... method re_auth_callback (line 1560) | async def re_auth_callback(self, token: TokenInterface): method _mock (line 1579) | async def _mock(self, error: RedisError): class NodesManager (line 1588) | class NodesManager: method __init__ (line 1605) | def __init__( method get_node (line 1633) | def get_node( method set_nodes (line 1651) | def set_nodes( method move_node_to_end_of_cached_nodes (line 1691) | def move_node_to_end_of_cached_nodes(self, node_name: str) -> None: method move_slot (line 1708) | def move_slot(self, e: AskError | MovedError): method get_node_from_slot (line 1745) | def get_node_from_slot( method get_nodes_by_server_type (line 1769) | def get_nodes_by_server_type(self, server_type: str) -> List["ClusterN... method initialize (line 1776) | async def initialize(self) -> None: method aclose (line 1926) | async def aclose(self, attr: str = "nodes_cache") -> None: method remap_host_port (line 1935) | def remap_host_port(self, host: str, port: int) -> Tuple[str, int]: class ClusterPipeline (line 1946) | class ClusterPipeline(AbstractRedis, AbstractRedisCluster, AsyncRedisClu... method __init__ (line 1992) | def __init__( method nodes_manager (line 2004) | def nodes_manager(self) -> "NodesManager": method set_response_callback (line 2008) | def set_response_callback(self, command: str, callback: ResponseCallba... method initialize (line 2012) | async def initialize(self) -> "ClusterPipeline": method __aenter__ (line 2016) | async def __aenter__(self) -> "ClusterPipeline": method __aexit__ (line 2019) | async def __aexit__(self, exc_type: None, exc_value: None, traceback: ... method __await__ (line 2022) | def __await__(self) -> Generator[Any, None, "ClusterPipeline"]: method __bool__ (line 2025) | def __bool__(self) -> bool: method __len__ (line 2029) | def __len__(self) -> int: method execute_command (line 2032) | def execute_command( method execute (line 2048) | async def execute( method _split_command_across_slots (line 2073) | def _split_command_across_slots( method reset (line 2081) | async def reset(self): method multi (line 2087) | def multi(self): method discard (line 2094) | async def discard(self): method watch (line 2098) | async def watch(self, *names): method unwatch (line 2102) | async def unwatch(self): method unlink (line 2106) | async def unlink(self, *names): method mset_nonatomic (line 2109) | def mset_nonatomic( class PipelineCommand (line 2123) | class PipelineCommand: method __init__ (line 2124) | def __init__(self, position: int, *args: Any, **kwargs: Any) -> None: method __repr__ (line 2131) | def __repr__(self) -> str: class ExecutionStrategy (line 2135) | class ExecutionStrategy(ABC): method initialize (line 2137) | async def initialize(self) -> "ClusterPipeline": method execute_command (line 2146) | def execute_command( method execute (line 2157) | async def execute( method mset_nonatomic (line 2171) | def mset_nonatomic( method reset (line 2182) | async def reset(self): method multi (line 2191) | def multi(self): method watch (line 2200) | async def watch(self, *names): method unwatch (line 2209) | async def unwatch(self): method discard (line 2218) | async def discard(self): method unlink (line 2222) | async def unlink(self, *names): method __len__ (line 2231) | def __len__(self) -> int: class AbstractStrategy (line 2235) | class AbstractStrategy(ExecutionStrategy): method __init__ (line 2236) | def __init__(self, pipe: ClusterPipeline) -> None: method initialize (line 2240) | async def initialize(self) -> "ClusterPipeline": method execute_command (line 2246) | def execute_command( method _annotate_exception (line 2254) | def _annotate_exception(self, exception, number, command): method mset_nonatomic (line 2266) | def mset_nonatomic( method execute (line 2272) | async def execute( method reset (line 2278) | async def reset(self): method multi (line 2282) | def multi(self): method watch (line 2286) | async def watch(self, *names): method unwatch (line 2290) | async def unwatch(self): method discard (line 2294) | async def discard(self): method unlink (line 2298) | async def unlink(self, *names): method __len__ (line 2301) | def __len__(self) -> int: class PipelineStrategy (line 2305) | class PipelineStrategy(AbstractStrategy): method __init__ (line 2306) | def __init__(self, pipe: ClusterPipeline) -> None: method mset_nonatomic (line 2309) | def mset_nonatomic( method execute (line 2324) | async def execute( method _execute (line 2356) | async def _execute( method reset (line 2497) | async def reset(self): method multi (line 2503) | def multi(self): method watch (line 2508) | async def watch(self, *names): method unwatch (line 2513) | async def unwatch(self): method discard (line 2518) | async def discard(self): method unlink (line 2523) | async def unlink(self, *names): class TransactionStrategy (line 2532) | class TransactionStrategy(AbstractStrategy): method __init__ (line 2544) | def __init__(self, pipe: ClusterPipeline) -> None: method _get_client_and_connection_for_transaction (line 2557) | def _get_client_and_connection_for_transaction( method execute_command (line 2584) | def execute_command(self, *args: Union[KeyT, EncodableT], **kwargs: An... method _execute_command (line 2606) | async def _execute_command( method _validate_watch (line 2642) | def _validate_watch(self): method _immediate_execute_command (line 2648) | async def _immediate_execute_command(self, *args, **options): method _get_connection_and_send_command (line 2655) | async def _get_connection_and_send_command(self, *args, **options): method _send_command_parse_response (line 2690) | async def _send_command_parse_response( method _reinitialize_on_error (line 2709) | async def _reinitialize_on_error(self, error, failure_count): method _raise_first_error (line 2750) | async def _raise_first_error(self, responses, stack, start_time): method mset_nonatomic (line 2769) | def mset_nonatomic( method execute (line 2774) | async def execute( method _execute_transaction_with_retries (line 2783) | async def _execute_transaction_with_retries( method _execute_transaction (line 2794) | async def _execute_transaction( method reset (line 2913) | async def reset(self): method multi (line 2943) | def multi(self): method watch (line 2952) | async def watch(self, *names): method unwatch (line 2958) | async def unwatch(self): method discard (line 2964) | async def discard(self): method unlink (line 2967) | async def unlink(self, *names): FILE: redis/asyncio/connection.py class _Sentinel (line 100) | class _Sentinel(enum.Enum): class ConnectCallbackProtocol (line 114) | class ConnectCallbackProtocol(Protocol): method __call__ (line 115) | def __call__(self, connection: "AbstractConnection"): ... class AsyncConnectCallbackProtocol (line 118) | class AsyncConnectCallbackProtocol(Protocol): method __call__ (line 119) | async def __call__(self, connection: "AbstractConnection"): ... class AbstractConnection (line 125) | class AbstractConnection: method __init__ (line 162) | def __init__( method __del__ (line 269) | def __del__(self, _warnings: Any = warnings): method _close (line 285) | def _close(self): method __repr__ (line 293) | def __repr__(self): method repr_pieces (line 298) | def repr_pieces(self): method is_connected (line 302) | def is_connected(self): method register_connect_callback (line 305) | def register_connect_callback(self, callback): method deregister_connect_callback (line 317) | def deregister_connect_callback(self, callback): method set_parser (line 328) | def set_parser(self, parser_class: Type[BaseParser]) -> None: method connect (line 336) | async def connect(self): method connect_check_health (line 350) | async def connect_check_health( method mark_for_reconnect (line 427) | def mark_for_reconnect(self): method should_reconnect (line 430) | def should_reconnect(self): method reset_should_reconnect (line 433) | def reset_should_reconnect(self): method _connect (line 437) | async def _connect(self): method _host_error (line 441) | def _host_error(self) -> str: method _error_message (line 444) | def _error_message(self, exception: BaseException) -> str: method get_protocol (line 447) | def get_protocol(self): method on_connect (line 450) | async def on_connect(self) -> None: method on_connect_check_health (line 454) | async def on_connect_check_health(self, check_health: bool = True) -> ... method disconnect (line 569) | async def disconnect( method _send_ping (line 625) | async def _send_ping(self): method _ping_failed (line 631) | async def _ping_failed(self, error, failure_count): method check_health (line 637) | async def check_health(self): method _send_packed_command (line 647) | async def _send_packed_command(self, command: Iterable[bytes]) -> None: method send_packed_command (line 651) | async def send_packed_command( method send_command (line 692) | async def send_command(self, *args: Any, **kwargs: Any) -> None: method can_read_destructive (line 698) | async def can_read_destructive(self): method read_response (line 707) | async def read_response( method pack_command (line 765) | def pack_command(self, *args: EncodableT) -> List[bytes]: method pack_commands (line 811) | def pack_commands(self, commands: Iterable[Iterable[EncodableT]]) -> L... method _socket_is_empty (line 841) | def _socket_is_empty(self): method process_invalidation_messages (line 845) | async def process_invalidation_messages(self): method set_re_auth_token (line 849) | def set_re_auth_token(self, token: TokenInterface): method re_auth (line 852) | async def re_auth(self): class Connection (line 863) | class Connection(AbstractConnection): method __init__ (line 866) | def __init__( method repr_pieces (line 883) | def repr_pieces(self): method _connection_arguments (line 889) | def _connection_arguments(self) -> Mapping: method _connect (line 892) | async def _connect(self): method _host_error (line 916) | def _host_error(self) -> str: class SSLConnection (line 920) | class SSLConnection(Connection): method __init__ (line 926) | def __init__( method _connection_arguments (line 961) | def _connection_arguments(self) -> Mapping: method keyfile (line 967) | def keyfile(self): method certfile (line 971) | def certfile(self): method cert_reqs (line 975) | def cert_reqs(self): method include_verify_flags (line 979) | def include_verify_flags(self): method exclude_verify_flags (line 983) | def exclude_verify_flags(self): method ca_certs (line 987) | def ca_certs(self): method ca_data (line 991) | def ca_data(self): method check_hostname (line 995) | def check_hostname(self): method min_version (line 999) | def min_version(self): class RedisSSLContext (line 1003) | class RedisSSLContext: method __init__ (line 1020) | def __init__( method get (line 1067) | def get(self) -> SSLContext: class UnixDomainSocketConnection (line 1096) | class UnixDomainSocketConnection(AbstractConnection): method __init__ (line 1099) | def __init__(self, *, path: str = "", **kwargs): method repr_pieces (line 1103) | def repr_pieces(self) -> Iterable[Tuple[str, Union[str, int]]]: method _connect (line 1109) | async def _connect(self): method _host_error (line 1116) | def _host_error(self) -> str: function to_bool (line 1123) | def to_bool(value) -> Optional[bool]: function parse_ssl_verify_flags (line 1131) | def parse_ssl_verify_flags(value): class ConnectKwargs (line 1162) | class ConnectKwargs(TypedDict, total=False): function parse_url (line 1172) | def parse_url(url: str) -> ConnectKwargs: class ConnectionPool (line 1228) | class ConnectionPool: method from_url (line 1244) | def from_url(cls: Type[_CP], url: str, **kwargs) -> _CP: method __init__ (line 1290) | def __init__( method __repr__ (line 1322) | def __repr__(self): method reset (line 1335) | def reset(self): method __del__ (line 1366) | def __del__(self) -> None: method can_get_connection (line 1397) | def can_get_connection(self) -> bool: method get_connection (line 1409) | async def get_connection(self, command_name=None, *keys, **options): method get_available_connection (line 1461) | def get_available_connection(self): method get_encoder (line 1472) | def get_encoder(self): method make_connection (line 1481) | def make_connection(self): method ensure_connection (line 1487) | async def ensure_connection(self, connection: AbstractConnection): method release (line 1503) | async def release(self, connection: AbstractConnection): method disconnect (line 1530) | async def disconnect(self, inuse_connections: bool = True): method update_active_connections_for_reconnect (line 1553) | async def update_active_connections_for_reconnect(self): method aclose (line 1561) | async def aclose(self) -> None: method set_retry (line 1565) | def set_retry(self, retry: "Retry") -> None: method re_auth_callback (line 1571) | async def re_auth_callback(self, token: TokenInterface): method _mock (line 1586) | async def _mock(self, error: RedisError): method get_connection_count (line 1594) | def get_connection_count(self) -> List[tuple[int, dict]]: class BlockingConnectionPool (line 1616) | class BlockingConnectionPool(ConnectionPool): method __init__ (line 1650) | def __init__( method get_connection (line 1671) | async def get_connection(self, command_name=None, *keys, **options): method release (line 1713) | async def release(self, connection: AbstractConnection): FILE: redis/asyncio/http/http_client.py class AsyncHTTPClient (line 13) | class AsyncHTTPClient(ABC): method get (line 15) | async def get( method delete (line 30) | async def delete( method post (line 45) | async def post( method put (line 62) | async def put( method patch (line 79) | async def patch( method request (line 96) | async def request( class AsyncHTTPClientWrapper (line 112) | class AsyncHTTPClientWrapper(AsyncHTTPClient): method __init__ (line 117) | def __init__(self, client: HttpClient, max_workers: int = 10) -> None: method get (line 133) | async def get( method delete (line 148) | async def delete( method post (line 169) | async def post( method put (line 194) | async def put( method patch (line 219) | async def patch( method request (line 244) | async def request( FILE: redis/asyncio/lock.py class Lock (line 17) | class Lock: method __init__ (line 82) | def __init__( method register_scripts (line 160) | def register_scripts(self): method __aenter__ (line 170) | async def __aenter__(self): method __aexit__ (line 175) | async def __aexit__(self, exc_type, exc_value, traceback): method acquire (line 185) | async def acquire( method do_acquire (line 234) | async def do_acquire(self, token: Union[str, bytes]) -> bool: method locked (line 244) | async def locked(self) -> bool: method owned (line 250) | async def owned(self) -> bool: method release (line 266) | async def release(self) -> None: method do_release (line 288) | async def do_release(self, expected_token: bytes) -> None: method extend (line 296) | def extend( method do_extend (line 315) | async def do_extend(self, additional_time, replace_ttl) -> bool: method reacquire (line 327) | def reacquire(self) -> Awaitable[bool]: method do_reacquire (line 337) | async def do_reacquire(self) -> bool: FILE: redis/asyncio/multidb/client.py class MultiDBClient (line 35) | class MultiDBClient(AsyncRedisModuleCommands, AsyncCoreCommands): method __init__ (line 41) | def __init__(self, config: MultiDbConfig): method __aenter__ (line 86) | async def __aenter__(self: "MultiDBClient") -> "MultiDBClient": method aclose (line 91) | async def aclose(self): method __aexit__ (line 107) | async def __aexit__(self, exc_type, exc_value, traceback): method initialize (line 110) | async def initialize(self): method get_databases (line 146) | def get_databases(self) -> Databases: method set_active_database (line 152) | async def set_active_database(self, database: AsyncDatabase) -> None: method add_database (line 179) | async def add_database( method _change_active_database (line 228) | async def _change_active_database( method remove_database (line 239) | async def remove_database(self, database: AsyncDatabase): method update_database_weight (line 254) | async def update_database_weight(self, database: AsyncDatabase, weight... method add_failure_detector (line 273) | def add_failure_detector(self, failure_detector: AsyncFailureDetector): method add_health_check (line 279) | async def add_health_check(self, healthcheck: HealthCheck): method execute_command (line 286) | async def execute_command(self, *args, **options): method pipeline (line 295) | def pipeline(self): method transaction (line 301) | async def transaction( method pubsub (line 323) | async def pubsub(self, **kwargs): method _check_databases_health (line 334) | async def _check_databases_health(self) -> dict[Database, bool]: method _perform_initial_health_check (line 368) | async def _perform_initial_health_check(self): method _check_db_health (line 392) | async def _check_db_health(self, database: AsyncDatabase) -> bool: method _on_circuit_state_change_callback (line 410) | def _on_circuit_state_change_callback( function _half_open_circuit (line 431) | def _half_open_circuit(circuit: CircuitBreaker): class Pipeline (line 435) | class Pipeline(AsyncRedisModuleCommands, AsyncCoreCommands): method __init__ (line 442) | def __init__(self, client: MultiDBClient): method __aenter__ (line 446) | async def __aenter__(self: "Pipeline") -> "Pipeline": method __aexit__ (line 449) | async def __aexit__(self, exc_type, exc_value, traceback): method __await__ (line 453) | def __await__(self): method _async_self (line 456) | async def _async_self(self): method __len__ (line 459) | def __len__(self) -> int: method __bool__ (line 462) | def __bool__(self) -> bool: method reset (line 466) | async def reset(self) -> None: method aclose (line 469) | async def aclose(self) -> None: method pipeline_execute_command (line 473) | def pipeline_execute_command(self, *args, **options) -> "Pipeline": method execute_command (line 488) | def execute_command(self, *args, **kwargs): method execute (line 492) | async def execute(self) -> List[Any]: class PubSub (line 505) | class PubSub: method __init__ (line 510) | def __init__(self, client: MultiDBClient, **kwargs): method __aenter__ (line 521) | async def __aenter__(self) -> "PubSub": method __aexit__ (line 524) | async def __aexit__(self, exc_type, exc_value, traceback) -> None: method aclose (line 527) | async def aclose(self): method subscribed (line 531) | def subscribed(self) -> bool: method execute_command (line 534) | async def execute_command(self, *args: EncodableT): method psubscribe (line 539) | async def psubscribe(self, *args: ChannelT, **kwargs: PubSubHandler): method punsubscribe (line 551) | async def punsubscribe(self, *args: ChannelT): method subscribe (line 560) | async def subscribe(self, *args: ChannelT, **kwargs: Callable): method unsubscribe (line 572) | async def unsubscribe(self, *args): method get_message (line 581) | async def get_message( method run (line 597) | async def run( FILE: redis/asyncio/multidb/command_executor.py class AsyncCommandExecutor (line 33) | class AsyncCommandExecutor(CommandExecutor): method databases (line 36) | def databases(self) -> Databases: method failure_detectors (line 42) | def failure_detectors(self) -> List[AsyncFailureDetector]: method add_failure_detector (line 47) | def add_failure_detector(self, failure_detector: AsyncFailureDetector)... method active_database (line 53) | def active_database(self) -> Optional[AsyncDatabase]: method set_active_database (line 58) | async def set_active_database( method active_pubsub (line 71) | def active_pubsub(self) -> Optional[PubSub]: method active_pubsub (line 77) | def active_pubsub(self, pubsub: PubSub) -> None: method failover_strategy_executor (line 83) | def failover_strategy_executor(self) -> FailoverStrategyExecutor: method command_retry (line 89) | def command_retry(self) -> Retry: method pubsub (line 94) | async def pubsub(self, **kwargs): method execute_command (line 99) | async def execute_command(self, *args, **options): method execute_pipeline (line 104) | async def execute_pipeline(self, command_stack: tuple): method execute_transaction (line 109) | async def execute_transaction( method execute_pubsub_method (line 116) | async def execute_pubsub_method(self, method_name: str, *args, **kwargs): method execute_pubsub_run (line 121) | async def execute_pubsub_run(self, sleep_time: float, **kwargs) -> Any: class DefaultCommandExecutor (line 126) | class DefaultCommandExecutor(BaseCommandExecutor, AsyncCommandExecutor): method __init__ (line 127) | def __init__( method databases (line 170) | def databases(self) -> Databases: method failure_detectors (line 174) | def failure_detectors(self) -> List[AsyncFailureDetector]: method add_failure_detector (line 177) | def add_failure_detector(self, failure_detector: AsyncFailureDetector)... method active_database (line 181) | def active_database(self) -> Optional[AsyncDatabase]: method set_active_database (line 184) | async def set_active_database( method active_pubsub (line 206) | def active_pubsub(self) -> Optional[PubSub]: method active_pubsub (line 210) | def active_pubsub(self, pubsub: PubSub) -> None: method failover_strategy_executor (line 214) | def failover_strategy_executor(self) -> FailoverStrategyExecutor: method command_retry (line 218) | def command_retry(self) -> Retry: method pubsub (line 221) | def pubsub(self, **kwargs): method execute_command (line 229) | async def execute_command(self, *args, **options): method execute_pipeline (line 239) | async def execute_pipeline(self, command_stack: tuple): method execute_transaction (line 251) | async def execute_transaction( method execute_pubsub_method (line 272) | async def execute_pubsub_method(self, method_name: str, *args, **kwargs): method execute_pubsub_run (line 285) | async def execute_pubsub_run( method _execute_with_failure_detection (line 297) | async def _execute_with_failure_detection( method _check_active_database (line 314) | async def _check_active_database(self): method _on_command_fail (line 332) | async def _on_command_fail(self, error, *args): method _register_command_execution (line 337) | async def _register_command_execution(self, cmd: tuple): method _setup_event_dispatcher (line 341) | def _setup_event_dispatcher(self): FILE: redis/asyncio/multidb/config.py class InitialHealthCheck (line 48) | class InitialHealthCheck(Enum): function default_event_dispatcher (line 54) | def default_event_dispatcher() -> EventDispatcherInterface: class DatabaseConfig (line 59) | class DatabaseConfig: method default_circuit_breaker (line 92) | def default_circuit_breaker(self) -> CircuitBreaker: class MultiDbConfig (line 98) | class MultiDbConfig: method databases (line 166) | def databases(self) -> Databases: method default_failure_detectors (line 207) | def default_failure_detectors(self) -> List[AsyncFailureDetector]: method default_health_checks (line 218) | def default_health_checks(self) -> List[HealthCheck]: method default_failover_strategy (line 227) | def default_failover_strategy(self) -> AsyncFailoverStrategy: FILE: redis/asyncio/multidb/database.py class AsyncDatabase (line 11) | class AsyncDatabase(AbstractDatabase): method client (line 16) | def client(self) -> Union[Redis, RedisCluster]: method client (line 22) | def client(self, client: Union[Redis, RedisCluster]): method circuit (line 28) | def circuit(self) -> CircuitBreaker: method circuit (line 34) | def circuit(self, circuit: CircuitBreaker): class Database (line 42) | class Database(BaseDatabase, AsyncDatabase): method __init__ (line 43) | def __init__( method client (line 56) | def client(self) -> Union[Redis, RedisCluster]: method client (line 60) | def client(self, client: Union[Redis, RedisCluster]): method circuit (line 64) | def circuit(self) -> CircuitBreaker: method circuit (line 68) | def circuit(self, circuit: CircuitBreaker): method __repr__ (line 71) | def __repr__(self): FILE: redis/asyncio/multidb/event.py class AsyncActiveDatabaseChanged (line 9) | class AsyncActiveDatabaseChanged: method __init__ (line 14) | def __init__( method old_database (line 27) | def old_database(self) -> AsyncDatabase: method new_database (line 31) | def new_database(self) -> AsyncDatabase: method command_executor (line 35) | def command_executor(self): method kwargs (line 39) | def kwargs(self): class ResubscribeOnActiveDatabaseChanged (line 43) | class ResubscribeOnActiveDatabaseChanged(AsyncEventListenerInterface): method listen (line 48) | async def listen(self, event: AsyncActiveDatabaseChanged): class CloseConnectionOnActiveDatabaseChanged (line 61) | class CloseConnectionOnActiveDatabaseChanged(AsyncEventListenerInterface): method listen (line 66) | async def listen(self, event: AsyncActiveDatabaseChanged): class RegisterCommandFailure (line 74) | class RegisterCommandFailure(AsyncEventListenerInterface): method __init__ (line 79) | def __init__(self, failure_detectors: List[AsyncFailureDetector]): method listen (line 82) | async def listen(self, event: AsyncOnCommandsFailEvent) -> None: FILE: redis/asyncio/multidb/failover.py class AsyncFailoverStrategy (line 16) | class AsyncFailoverStrategy(ABC): method database (line 18) | async def database(self) -> AsyncDatabase: method set_databases (line 23) | def set_databases(self, databases: Databases) -> None: class FailoverStrategyExecutor (line 28) | class FailoverStrategyExecutor(ABC): method failover_attempts (line 31) | def failover_attempts(self) -> int: method failover_delay (line 37) | def failover_delay(self) -> float: method strategy (line 43) | def strategy(self) -> AsyncFailoverStrategy: method execute (line 48) | async def execute(self) -> AsyncDatabase: class WeightBasedFailoverStrategy (line 53) | class WeightBasedFailoverStrategy(AsyncFailoverStrategy): method __init__ (line 58) | def __init__(self): method database (line 61) | async def database(self) -> AsyncDatabase: method set_databases (line 68) | def set_databases(self, databases: Databases) -> None: class DefaultFailoverStrategyExecutor (line 72) | class DefaultFailoverStrategyExecutor(FailoverStrategyExecutor): method __init__ (line 77) | def __init__( method failover_attempts (line 90) | def failover_attempts(self) -> int: method failover_delay (line 94) | def failover_delay(self) -> float: method strategy (line 98) | def strategy(self) -> AsyncFailoverStrategy: method execute (line 101) | async def execute(self) -> AsyncDatabase: method _reset (line 123) | def _reset(self) -> None: FILE: redis/asyncio/multidb/failure_detector.py class AsyncFailureDetector (line 6) | class AsyncFailureDetector(ABC): method register_failure (line 8) | async def register_failure(self, exception: Exception, cmd: tuple) -> ... method register_command_execution (line 13) | async def register_command_execution(self, cmd: tuple) -> None: method set_command_executor (line 18) | def set_command_executor(self, command_executor) -> None: class FailureDetectorAsyncWrapper (line 23) | class FailureDetectorAsyncWrapper(AsyncFailureDetector): method __init__ (line 28) | def __init__(self, failure_detector: FailureDetector) -> None: method register_failure (line 31) | async def register_failure(self, exception: Exception, cmd: tuple) -> ... method register_command_execution (line 34) | async def register_command_execution(self, cmd: tuple) -> None: method set_command_executor (line 37) | def set_command_executor(self, command_executor) -> None: FILE: redis/asyncio/multidb/healthcheck.py function _get_init_params (line 22) | def _get_init_params(cls: Type) -> frozenset: function _filter_kwargs (line 37) | def _filter_kwargs(kwargs: dict, cls: Type) -> dict: class HealthCheck (line 52) | class HealthCheck(ABC): method health_check_probes (line 59) | def health_check_probes(self) -> int: method health_check_delay (line 65) | def health_check_delay(self) -> float: method health_check_timeout (line 71) | def health_check_timeout(self) -> float: method check_health (line 76) | async def check_health(self, database, hc_client: AsyncRedisClientT) -... class HealthCheckPolicy (line 91) | class HealthCheckPolicy(ABC): method execute (line 97) | async def execute(self, health_checks: List[HealthCheck], database) ->... method _execute (line 102) | async def _execute(self, health_check: HealthCheck, database) -> bool: method get_client (line 109) | async def get_client(self, database) -> AsyncRedisClientT: method close (line 116) | async def close(self) -> None: class AbstractHealthCheckPolicy (line 121) | class AbstractHealthCheckPolicy(HealthCheckPolicy): method __init__ (line 126) | def __init__(self): method execute (line 130) | async def execute(self, health_checks: List[HealthCheck], database) ->... method get_client (line 163) | async def get_client(self, database) -> AsyncRedisClientT: method close (line 208) | async def close(self) -> None: method _execute (line 220) | async def _execute(self, health_check: HealthCheck, database) -> bool: class HealthyAllPolicy (line 227) | class HealthyAllPolicy(AbstractHealthCheckPolicy): method _execute (line 232) | async def _execute(self, health_check: HealthCheck, database) -> bool: class HealthyMajorityPolicy (line 252) | class HealthyMajorityPolicy(AbstractHealthCheckPolicy): method _execute (line 262) | async def _execute(self, health_check: HealthCheck, database) -> bool: class HealthyAnyPolicy (line 296) | class HealthyAnyPolicy(AbstractHealthCheckPolicy): method _execute (line 301) | async def _execute(self, health_check: HealthCheck, database) -> bool: class HealthCheckPolicies (line 330) | class HealthCheckPolicies(Enum): class AbstractHealthCheck (line 339) | class AbstractHealthCheck(HealthCheck): method __init__ (line 340) | def __init__( method health_check_probes (line 353) | def health_check_probes(self) -> int: method health_check_delay (line 357) | def health_check_delay(self) -> float: method health_check_timeout (line 361) | def health_check_timeout(self) -> float: method check_health (line 365) | async def check_health(self, database, hc_client: AsyncRedisClientT) -... class PingHealthCheck (line 369) | class PingHealthCheck(AbstractHealthCheck): method check_health (line 374) | async def check_health(self, database, hc_client: AsyncRedisClientT) -... class LagAwareHealthCheck (line 387) | class LagAwareHealthCheck(AbstractHealthCheck): method __init__ (line 393) | def __init__( method check_health (line 451) | async def check_health(self, database, hc_client: AsyncRedisClientT) -... FILE: redis/asyncio/observability/recorder.py function _get_or_create_collector (line 47) | def _get_or_create_collector() -> Optional[RedisMetricsCollector]: function _get_config (line 80) | async def _get_config() -> Optional["OTelConfig"]: function record_operation_duration (line 96) | async def record_operation_duration( function record_connection_create_time (line 148) | async def record_connection_create_time( function record_connection_count (line 172) | async def record_connection_count( function init_connection_count (line 204) | async def init_connection_count() -> None: function register_pools_connection_count (line 235) | async def register_pools_connection_count( function record_connection_timeout (line 264) | async def record_connection_timeout( function record_connection_wait_time (line 285) | async def record_connection_wait_time( function record_connection_closed (line 309) | async def record_connection_closed( function record_connection_relaxed_timeout (line 333) | async def record_connection_relaxed_timeout( function record_connection_handoff (line 360) | async def record_connection_handoff( function record_error_count (line 381) | async def record_error_count( function record_pubsub_message (line 420) | async def record_pubsub_message( function record_streaming_lag (line 457) | async def record_streaming_lag( function record_streaming_lag_from_response (line 491) | async def record_streaming_lag_from_response( function record_maint_notification_count (line 559) | async def record_maint_notification_count( function record_geo_failover (line 592) | async def record_geo_failover( function reset_collector (line 619) | def reset_collector() -> None: function is_enabled (line 627) | async def is_enabled() -> bool: FILE: redis/asyncio/retry.py class Retry (line 23) | class Retry(AbstractRetry[RedisError]): method __init__ (line 26) | def __init__( method __eq__ (line 37) | def __eq__(self, other: Any) -> bool: method call_with_retry (line 47) | async def call_with_retry( FILE: redis/asyncio/sentinel.py class MasterNotFoundError (line 22) | class MasterNotFoundError(ConnectionError): class SlaveNotFoundError (line 26) | class SlaveNotFoundError(ConnectionError): class SentinelManagedConnection (line 30) | class SentinelManagedConnection(Connection): method __init__ (line 31) | def __init__(self, **kwargs): method __repr__ (line 35) | def __repr__(self): method connect_to (line 42) | async def connect_to(self, address): method _connect_retry (line 49) | async def _connect_retry(self): method connect (line 62) | async def connect(self): method read_response (line 68) | async def read_response( class SentinelManagedSSLConnection (line 95) | class SentinelManagedSSLConnection(SentinelManagedConnection, SSLConnect... class SentinelConnectionPool (line 99) | class SentinelConnectionPool(ConnectionPool): method __init__ (line 107) | def __init__(self, service_name, sentinel_manager, **kwargs): method __repr__ (line 125) | def __repr__(self): method reset (line 131) | def reset(self): method owns_connection (line 136) | def owns_connection(self, connection: Connection): method get_master_address (line 142) | async def get_master_address(self): method rotate_slaves (line 152) | async def rotate_slaves(self) -> AsyncIterator: class Sentinel (line 170) | class Sentinel(AsyncSentinelCommands): method __init__ (line 199) | def __init__( method execute_command (line 223) | async def execute_command(self, *args, **kwargs): method __repr__ (line 255) | def __repr__(self): method check_master_state (line 267) | def check_master_state(self, state: dict, service_name: str) -> bool: method discover_master (line 275) | async def discover_master(self, service_name: str): method filter_slaves (line 310) | def filter_slaves( method discover_slaves (line 321) | async def discover_slaves( method master_for (line 335) | def master_for( method slave_for (line 374) | def slave_for( FILE: redis/asyncio/utils.py function from_url (line 7) | def from_url(url: str, **kwargs: Any) -> "Redis": class pipeline (line 19) | class pipeline: # noqa: N801 method __init__ (line 20) | def __init__(self, redis_obj: "Redis"): method __aenter__ (line 23) | async def __aenter__(self) -> "Pipeline": method __aexit__ (line 26) | async def __aexit__(self, exc_type, exc_value, traceback): FILE: redis/auth/err.py class RequestTokenErr (line 4) | class RequestTokenErr(Exception): method __init__ (line 9) | def __init__(self, *args): class InvalidTokenSchemaErr (line 13) | class InvalidTokenSchemaErr(Exception): method __init__ (line 18) | def __init__(self, missing_fields: Iterable[str] = []): class TokenRenewalErr (line 25) | class TokenRenewalErr(Exception): method __init__ (line 30) | def __init__(self, *args): FILE: redis/auth/idp.py class IdentityProviderInterface (line 10) | class IdentityProviderInterface(ABC): method request_token (line 17) | def request_token(self, force_refresh=False) -> TokenInterface: class IdentityProviderConfigInterface (line 21) | class IdentityProviderConfigInterface(ABC): method get_provider (line 27) | def get_provider(self) -> IdentityProviderInterface: FILE: redis/auth/token.py class TokenInterface (line 7) | class TokenInterface(ABC): method is_expired (line 9) | def is_expired(self) -> bool: method ttl (line 13) | def ttl(self) -> float: method try_get (line 17) | def try_get(self, key: str) -> str: method get_value (line 21) | def get_value(self) -> str: method get_expires_at_ms (line 25) | def get_expires_at_ms(self) -> float: method get_received_at_ms (line 29) | def get_received_at_ms(self) -> float: class TokenResponse (line 33) | class TokenResponse: method __init__ (line 34) | def __init__(self, token: TokenInterface): method get_token (line 37) | def get_token(self) -> TokenInterface: method get_ttl_ms (line 40) | def get_ttl_ms(self) -> float: class SimpleToken (line 44) | class SimpleToken(TokenInterface): method __init__ (line 45) | def __init__( method ttl (line 53) | def ttl(self) -> float: method is_expired (line 59) | def is_expired(self) -> bool: method try_get (line 65) | def try_get(self, key: str) -> str: method get_value (line 68) | def get_value(self) -> str: method get_expires_at_ms (line 71) | def get_expires_at_ms(self) -> float: method get_received_at_ms (line 74) | def get_received_at_ms(self) -> float: class JWToken (line 78) | class JWToken(TokenInterface): method __init__ (line 81) | def __init__(self, token: str): method is_expired (line 96) | def is_expired(self) -> bool: method ttl (line 105) | def ttl(self) -> float: method try_get (line 114) | def try_get(self, key: str) -> str: method get_value (line 117) | def get_value(self) -> str: method get_expires_at_ms (line 120) | def get_expires_at_ms(self) -> float: method get_received_at_ms (line 123) | def get_received_at_ms(self) -> float: method _validate_token (line 126) | def _validate_token(self): FILE: redis/auth/token_manager.py class CredentialsListener (line 15) | class CredentialsListener: method __init__ (line 21) | def __init__(self): method on_next (line 26) | def on_next(self) -> Union[Callable[[Any], None], Awaitable]: method on_next (line 30) | def on_next(self, callback: Union[Callable[[Any], None], Awaitable]) -... method on_error (line 34) | def on_error(self) -> Union[Callable[[Exception], None], Awaitable]: method on_error (line 38) | def on_error(self, callback: Union[Callable[[Exception], None], Awaita... class RetryPolicy (line 42) | class RetryPolicy: method __init__ (line 43) | def __init__(self, max_attempts: int, delay_in_ms: float): method get_max_attempts (line 47) | def get_max_attempts(self) -> int: method get_delay_in_ms (line 55) | def get_delay_in_ms(self) -> float: class TokenManagerConfig (line 64) | class TokenManagerConfig: method __init__ (line 65) | def __init__( method get_expiration_refresh_ratio (line 79) | def get_expiration_refresh_ratio(self) -> float: method get_lower_refresh_bound_millis (line 90) | def get_lower_refresh_bound_millis(self) -> int: method get_token_request_execution_timeout_in_ms (line 103) | def get_token_request_execution_timeout_in_ms(self) -> int: method get_retry_policy (line 112) | def get_retry_policy(self) -> RetryPolicy: class TokenManager (line 121) | class TokenManager: method __init__ (line 122) | def __init__( method __del__ (line 132) | def __del__(self): method start (line 136) | def start( method start_async (line 184) | async def start_async( method stop (line 208) | def stop(self): method acquire_token (line 214) | def acquire_token(self, force_refresh=False) -> TokenResponse: method acquire_token_async (line 228) | async def acquire_token_async(self, force_refresh=False) -> TokenRespo... method _calculate_renewal_delay (line 244) | def _calculate_renewal_delay(self, expire_date: float, issue_date: flo... method _delay_for_lower_refresh (line 251) | def _delay_for_lower_refresh(self, expire_date: float): method _delay_for_ratio_refresh (line 258) | def _delay_for_ratio_refresh(self, expire_date: float, issue_date: flo... method _renew_token (line 270) | def _renew_token(self, skip_initial: bool = False): method _renew_token_async (line 311) | async def _renew_token_async( function _async_to_sync_wrapper (line 358) | def _async_to_sync_wrapper(loop, coro_func, *args, **kwargs): FILE: redis/background.py class BackgroundScheduler (line 7) | class BackgroundScheduler: method __init__ (line 12) | def __init__(self): method __del__ (line 23) | def __del__(self): method stop (line 26) | def stop(self): method run_once (line 46) | def run_once(self, delay: float, callback: Callable, *args): method run_recurring (line 67) | def run_recurring(self, interval: float, callback: Callable, *args): method run_recurring_coro (line 88) | def run_recurring_coro( method run_coro_sync (line 112) | def run_coro_sync( method run_coro_fire_and_forget (line 160) | def run_coro_fire_and_forget( method _ensure_health_check_loop (line 198) | def _ensure_health_check_loop(self, timeout: float = 5.0): method _run_health_check_loop (line 258) | def _run_health_check_loop(self): method _call_later_recurring_coro (line 281) | def _call_later_recurring_coro( method _execute_recurring_coro (line 296) | def _execute_recurring_coro( method run_recurring_async (line 357) | async def run_recurring_async( method _call_later (line 418) | def _call_later( method _call_later_recurring (line 426) | def _call_later_recurring( method _execute_recurring (line 440) | def _execute_recurring( function _start_event_loop_in_thread (line 469) | def _start_event_loop_in_thread( FILE: redis/backoff.py class AbstractBackoff (line 10) | class AbstractBackoff(ABC): method reset (line 13) | def reset(self): method compute (line 22) | def compute(self, failures: int) -> float: class ConstantBackoff (line 27) | class ConstantBackoff(AbstractBackoff): method __init__ (line 30) | def __init__(self, backoff: float) -> None: method __hash__ (line 34) | def __hash__(self) -> int: method __eq__ (line 37) | def __eq__(self, other) -> bool: method compute (line 43) | def compute(self, failures: int) -> float: class NoBackoff (line 47) | class NoBackoff(ConstantBackoff): method __init__ (line 50) | def __init__(self) -> None: class ExponentialBackoff (line 54) | class ExponentialBackoff(AbstractBackoff): method __init__ (line 57) | def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BASE): method __hash__ (line 65) | def __hash__(self) -> int: method __eq__ (line 68) | def __eq__(self, other) -> bool: method compute (line 74) | def compute(self, failures: int) -> float: class FullJitterBackoff (line 78) | class FullJitterBackoff(AbstractBackoff): method __init__ (line 81) | def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BAS... method __hash__ (line 89) | def __hash__(self) -> int: method __eq__ (line 92) | def __eq__(self, other) -> bool: method compute (line 98) | def compute(self, failures: int) -> float: class EqualJitterBackoff (line 102) | class EqualJitterBackoff(AbstractBackoff): method __init__ (line 105) | def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BAS... method __hash__ (line 113) | def __hash__(self) -> int: method __eq__ (line 116) | def __eq__(self, other) -> bool: method compute (line 122) | def compute(self, failures: int) -> float: class DecorrelatedJitterBackoff (line 127) | class DecorrelatedJitterBackoff(AbstractBackoff): method __init__ (line 130) | def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BAS... method __hash__ (line 139) | def __hash__(self) -> int: method __eq__ (line 142) | def __eq__(self, other) -> bool: method reset (line 148) | def reset(self) -> None: method compute (line 151) | def compute(self, failures: int) -> float: class ExponentialWithJitterBackoff (line 158) | class ExponentialWithJitterBackoff(AbstractBackoff): method __init__ (line 161) | def __init__(self, cap: float = DEFAULT_CAP, base: float = DEFAULT_BAS... method __hash__ (line 169) | def __hash__(self) -> int: method __eq__ (line 172) | def __eq__(self, other) -> bool: method compute (line 178) | def compute(self, failures: int) -> float: function default_backoff (line 182) | def default_backoff(): FILE: redis/cache.py class CacheEntryStatus (line 10) | class CacheEntryStatus(Enum): class EvictionPolicyType (line 15) | class EvictionPolicyType(Enum): class CacheKey (line 21) | class CacheKey: class CacheEntry (line 39) | class CacheEntry: method __init__ (line 40) | def __init__( method __hash__ (line 52) | def __hash__(self): method __eq__ (line 57) | def __eq__(self, other): class EvictionPolicyInterface (line 61) | class EvictionPolicyInterface(ABC): method cache (line 64) | def cache(self): method cache (line 69) | def cache(self, value): method type (line 74) | def type(self) -> EvictionPolicyType: method evict_next (line 78) | def evict_next(self) -> CacheKey: method evict_many (line 82) | def evict_many(self, count: int) -> List[CacheKey]: method touch (line 86) | def touch(self, cache_key: CacheKey) -> None: class CacheConfigurationInterface (line 90) | class CacheConfigurationInterface(ABC): method get_cache_class (line 92) | def get_cache_class(self): method get_max_size (line 96) | def get_max_size(self) -> int: method get_eviction_policy (line 100) | def get_eviction_policy(self): method is_exceeds_max_size (line 104) | def is_exceeds_max_size(self, count: int) -> bool: method is_allowed_to_cache (line 108) | def is_allowed_to_cache(self, command: str) -> bool: class CacheInterface (line 112) | class CacheInterface(ABC): method collection (line 115) | def collection(self) -> OrderedDict: method config (line 120) | def config(self) -> CacheConfigurationInterface: method eviction_policy (line 125) | def eviction_policy(self) -> EvictionPolicyInterface: method size (line 130) | def size(self) -> int: method get (line 134) | def get(self, key: CacheKey) -> Union[CacheEntry, None]: method set (line 138) | def set(self, entry: CacheEntry) -> bool: method delete_by_cache_keys (line 142) | def delete_by_cache_keys(self, cache_keys: List[CacheKey]) -> List[bool]: method delete_by_redis_keys (line 146) | def delete_by_redis_keys(self, redis_keys: List[bytes]) -> List[bool]: method flush (line 150) | def flush(self) -> int: method is_cachable (line 154) | def is_cachable(self, key: CacheKey) -> bool: class DefaultCache (line 158) | class DefaultCache(CacheInterface): method __init__ (line 159) | def __init__( method collection (line 169) | def collection(self) -> OrderedDict: method config (line 173) | def config(self) -> CacheConfigurationInterface: method eviction_policy (line 177) | def eviction_policy(self) -> EvictionPolicyInterface: method size (line 181) | def size(self) -> int: method set (line 184) | def set(self, entry: CacheEntry) -> bool: method get (line 193) | def get(self, key: CacheKey) -> Union[CacheEntry, None]: method delete_by_cache_keys (line 202) | def delete_by_cache_keys(self, cache_keys: List[CacheKey]) -> List[bool]: method delete_by_redis_keys (line 214) | def delete_by_redis_keys( method flush (line 241) | def flush(self) -> int: method is_cachable (line 246) | def is_cachable(self, key: CacheKey) -> bool: class CacheProxy (line 250) | class CacheProxy(CacheInterface): method __init__ (line 255) | def __init__(self, cache: CacheInterface): method collection (line 259) | def collection(self) -> OrderedDict: method config (line 263) | def config(self) -> CacheConfigurationInterface: method eviction_policy (line 267) | def eviction_policy(self) -> EvictionPolicyInterface: method size (line 271) | def size(self) -> int: method get (line 274) | def get(self, key: CacheKey) -> Union[CacheEntry, None]: method set (line 277) | def set(self, entry: CacheEntry) -> bool: method delete_by_cache_keys (line 292) | def delete_by_cache_keys(self, cache_keys: List[CacheKey]) -> List[bool]: method delete_by_redis_keys (line 295) | def delete_by_redis_keys(self, redis_keys: List[bytes]) -> List[bool]: method flush (line 298) | def flush(self) -> int: method is_cachable (line 301) | def is_cachable(self, key: CacheKey) -> bool: class LRUPolicy (line 305) | class LRUPolicy(EvictionPolicyInterface): method __init__ (line 306) | def __init__(self): method cache (line 310) | def cache(self): method cache (line 314) | def cache(self, cache: CacheInterface): method type (line 318) | def type(self) -> EvictionPolicyType: method evict_next (line 321) | def evict_next(self) -> CacheKey: method evict_many (line 326) | def evict_many(self, count: int) -> List[CacheKey]: method touch (line 339) | def touch(self, cache_key: CacheKey) -> None: method _assert_cache (line 347) | def _assert_cache(self): class EvictionPolicy (line 352) | class EvictionPolicy(Enum): class CacheConfig (line 356) | class CacheConfig(CacheConfigurationInterface): method __init__ (line 438) | def __init__( method get_cache_class (line 448) | def get_cache_class(self): method get_max_size (line 451) | def get_max_size(self) -> int: method get_eviction_policy (line 454) | def get_eviction_policy(self) -> EvictionPolicy: method is_exceeds_max_size (line 457) | def is_exceeds_max_size(self, count: int) -> bool: method is_allowed_to_cache (line 460) | def is_allowed_to_cache(self, command: str) -> bool: class CacheFactoryInterface (line 464) | class CacheFactoryInterface(ABC): method get_cache (line 466) | def get_cache(self) -> CacheInterface: class CacheFactory (line 470) | class CacheFactory(CacheFactoryInterface): method __init__ (line 471) | def __init__(self, cache_config: Optional[CacheConfig] = None): method get_cache (line 477) | def get_cache(self) -> CacheInterface: FILE: redis/client.py function is_debug_log_enabled (line 98) | def is_debug_log_enabled(): function add_debug_log_for_operation_failure (line 102) | def add_debug_log_for_operation_failure(connection: "AbstractConnection"): class CaseInsensitiveDict (line 109) | class CaseInsensitiveDict(dict): method __init__ (line 112) | def __init__(self, data: Dict[str, str]) -> None: method __contains__ (line 116) | def __contains__(self, k): method __delitem__ (line 119) | def __delitem__(self, k): method __getitem__ (line 122) | def __getitem__(self, k): method get (line 125) | def get(self, k, default=None): method __setitem__ (line 128) | def __setitem__(self, k, v): method update (line 131) | def update(self, data): class AbstractRedis (line 136) | class AbstractRedis: class Redis (line 140) | class Redis(RedisModuleCommands, CoreCommands, SentinelCommands): method from_url (line 159) | def from_url(cls, url: str, **kwargs) -> "Redis": method from_pool (line 210) | def from_pool( method __init__ (line 235) | def __init__( method __repr__ (line 486) | def __repr__(self) -> str: method get_encoder (line 492) | def get_encoder(self) -> "Encoder": method get_connection_kwargs (line 496) | def get_connection_kwargs(self) -> Dict: method get_retry (line 500) | def get_retry(self) -> Optional[Retry]: method set_retry (line 503) | def set_retry(self, retry: Retry) -> None: method set_response_callback (line 507) | def set_response_callback(self, command: str, callback: Callable) -> N... method load_external_module (line 511) | def load_external_module(self, funcname, func) -> None: method pipeline (line 534) | def pipeline(self, transaction=True, shard_hint=None) -> "Pipeline": method transaction (line 546) | def transaction( method lock (line 570) | def lock( method pubsub (line 651) | def pubsub(self, **kwargs): method monitor (line 661) | def monitor(self): method client (line 664) | def client(self): method __enter__ (line 670) | def __enter__(self): method __exit__ (line 673) | def __exit__(self, exc_type, exc_value, traceback): method __del__ (line 676) | def __del__(self): method close (line 682) | def close(self) -> None: method _send_command_parse_response (line 697) | def _send_command_parse_response(self, conn, command_name, *args, **op... method _close_connection (line 704) | def _close_connection( method execute_command (line 735) | def execute_command(self, *args, **options): method _execute_command (line 738) | def _execute_command(self, *args, **options): method parse_response (line 795) | def parse_response(self, connection, command_name, **options): method get_cache (line 818) | def get_cache(self) -> Optional[CacheInterface]: class Monitor (line 825) | class Monitor: method __init__ (line 835) | def __init__(self, connection_pool): method __enter__ (line 839) | def __enter__(self): method __exit__ (line 843) | def __exit__(self, *args): method next_command (line 847) | def next_command(self): method listen (line 892) | def listen(self): method _start_monitor (line 897) | def _start_monitor(self): class PubSub (line 906) | class PubSub: method __init__ (line 919) | def __init__( method __enter__ (line 954) | def __enter__(self) -> "PubSub": method __exit__ (line 957) | def __exit__(self, exc_type, exc_value, traceback) -> None: method __del__ (line 960) | def __del__(self) -> None: method reset (line 969) | def reset(self) -> None: method close (line 984) | def close(self) -> None: method on_connect (line 987) | def on_connect(self, connection) -> None: method subscribed (line 1033) | def subscribed(self) -> bool: method execute_command (line 1037) | def execute_command(self, *args): method clean_health_check_responses (line 1063) | def clean_health_check_responses(self) -> None: method _reconnect (line 1081) | def _reconnect( method _execute (line 1109) | def _execute(self, conn, command, *args, **kwargs): method parse_response (line 1164) | def parse_response(self, block=True, timeout=0): method is_health_check_response (line 1232) | def is_health_check_response(self, response) -> bool: method check_health (line 1255) | def check_health(self) -> None: method _normalize_keys (line 1267) | def _normalize_keys(self, data) -> Dict: method psubscribe (line 1277) | def psubscribe(self, *args, **kwargs): method punsubscribe (line 1303) | def punsubscribe(self, *args): method subscribe (line 1316) | def subscribe(self, *args, **kwargs): method unsubscribe (line 1342) | def unsubscribe(self, *args): method ssubscribe (line 1355) | def ssubscribe(self, *args, target_node=None, **kwargs): method sunsubscribe (line 1381) | def sunsubscribe(self, *args, target_node=None): method listen (line 1394) | def listen(self): method get_message (line 1401) | def get_message( method ping (line 1433) | def ping(self, message: Union[str, None] = None) -> bool: method handle_message (line 1443) | def handle_message(self, response, ignore_subscribe_messages=False): method run_in_thread (line 1532) | def run_in_thread( class PubSubWorkerThread (line 1564) | class PubSubWorkerThread(threading.Thread): method __init__ (line 1565) | def __init__( method run (line 1583) | def run(self) -> None: method stop (line 1605) | def stop(self) -> None: class Pipeline (line 1612) | class Pipeline(Redis): method __init__ (line 1634) | def __init__( method __enter__ (line 1651) | def __enter__(self) -> "Pipeline": method __exit__ (line 1654) | def __exit__(self, exc_type, exc_value, traceback): method __del__ (line 1657) | def __del__(self): method __len__ (line 1663) | def __len__(self) -> int: method __bool__ (line 1666) | def __bool__(self) -> bool: method reset (line 1670) | def reset(self) -> None: method close (line 1694) | def close(self) -> None: method multi (line 1698) | def multi(self) -> None: method execute_command (line 1711) | def execute_command(self, *args, **kwargs): method _disconnect_reset_raise_on_watching (line 1716) | def _disconnect_reset_raise_on_watching( method immediate_execute_command (line 1755) | def immediate_execute_command(self, *args, **options): method pipeline_execute_command (line 1812) | def pipeline_execute_command(self, *args, **options) -> "Pipeline": method _execute_transaction (line 1827) | def _execute_transaction( method _execute_pipeline (line 1899) | def _execute_pipeline(self, connection, commands, raise_on_error): method raise_first_error (line 1916) | def raise_first_error(self, commands, response): method annotate_exception (line 1922) | def annotate_exception(self, exception, number, command): method parse_response (line 1930) | def parse_response(self, connection, command_name, **options): method load_scripts (line 1938) | def load_scripts(self): method _disconnect_raise_on_watching (line 1951) | def _disconnect_raise_on_watching( method execute (line 1987) | def execute(self, raise_on_error: bool = True) -> List[Any]: method discard (line 2053) | def discard(self): method watch (line 2060) | def watch(self, *names): method unwatch (line 2066) | def unwatch(self) -> bool: FILE: redis/cluster.py function is_debug_log_enabled (line 90) | def is_debug_log_enabled(): function get_node_name (line 94) | def get_node_name(host: str, port: Union[str, int]) -> str: function get_connection (line 103) | def get_connection(redis_node: Redis, *args, **options) -> Connection: function parse_scan_result (line 107) | def parse_scan_result(command, res, **options): function parse_pubsub_numsub (line 118) | def parse_pubsub_numsub(command, res, **options): function parse_cluster_slots (line 131) | def parse_cluster_slots( function parse_cluster_shards (line 151) | def parse_cluster_shards(resp, **options): function parse_cluster_myshardid (line 173) | def parse_cluster_myshardid(resp, **options): function cleanup_kwargs (line 231) | def cleanup_kwargs(**kwargs): class MaintNotificationsAbstractRedisCluster (line 244) | class MaintNotificationsAbstractRedisCluster: method __init__ (line 254) | def __init__( method _update_connection_kwargs_for_maint_notifications (line 294) | def _update_connection_kwargs_for_maint_notifications( class AbstractRedisCluster (line 307) | class AbstractRedisCluster: method replace_default_node (line 529) | def replace_default_node(self, target_node: "ClusterNode" = None) -> N... class RedisCluster (line 554) | class RedisCluster( method from_url (line 561) | def from_url(cls, url: str, **kwargs: Any) -> "RedisCluster": method __init__ (line 616) | def __init__( method __enter__ (line 874) | def __enter__(self): method __exit__ (line 877) | def __exit__(self, exc_type, exc_value, traceback): method __del__ (line 880) | def __del__(self): method disconnect_connection_pools (line 886) | def disconnect_connection_pools(self): method on_connect (line 895) | def on_connect(self, connection): method get_redis_connection (line 915) | def get_redis_connection(self, node: "ClusterNode") -> Redis: method get_node (line 922) | def get_node(self, host=None, port=None, node_name=None): method get_primaries (line 925) | def get_primaries(self): method get_replicas (line 928) | def get_replicas(self): method get_random_node (line 931) | def get_random_node(self): method get_random_primary_or_all_nodes (line 934) | def get_random_primary_or_all_nodes(self, command_name): method get_nodes (line 943) | def get_nodes(self): method get_node_from_key (line 946) | def get_node_from_key(self, key, replica=False): method get_default_node (line 966) | def get_default_node(self): method get_nodes_from_slot (line 972) | def get_nodes_from_slot(self, command: str, *args): method _split_multi_shard_command (line 985) | def _split_multi_shard_command(self, *args, **kwargs) -> list[dict]: method get_special_nodes (line 1002) | def get_special_nodes(self) -> Optional[list["ClusterNode"]]: method get_random_primary_node (line 1013) | def get_random_primary_node(self) -> "ClusterNode": method _evaluate_all_succeeded (line 1019) | def _evaluate_all_succeeded(self, res): method set_default_node (line 1043) | def set_default_node(self, node): method set_retry (line 1054) | def set_retry(self, retry: Retry) -> None: method monitor (line 1057) | def monitor(self, target_node=None): method pubsub (line 1074) | def pubsub(self, node=None, host=None, port=None, **kwargs): method pipeline (line 1081) | def pipeline(self, transaction=None, shard_hint=None): method lock (line 1108) | def lock( method set_response_callback (line 1189) | def set_response_callback(self, command, callback): method _determine_nodes (line 1193) | def _determine_nodes( method _should_reinitialized (line 1230) | def _should_reinitialized(self): method keyslot (line 1240) | def keyslot(self, key): method _get_command_keys (line 1248) | def _get_command_keys(self, *args): method determine_slot (line 1263) | def determine_slot(self, *args) -> Optional[int]: method get_encoder (line 1326) | def get_encoder(self): method get_connection_kwargs (line 1332) | def get_connection_kwargs(self): method _is_nodes_flag (line 1338) | def _is_nodes_flag(self, target_nodes): method _parse_target_nodes (line 1341) | def _parse_target_nodes(self, target_nodes): method execute_command (line 1361) | def execute_command(self, *args, **kwargs): method _internal_execute_command (line 1364) | def _internal_execute_command(self, *args, **kwargs): method _execute_command (line 1505) | def _execute_command(self, target_node, *args, **kwargs): method _record_command_metric (line 1777) | def _record_command_metric( method _record_error_metric (line 1800) | def _record_error_metric( method _extracts_socket_address (line 1820) | def _extracts_socket_address( method close (line 1834) | def close(self) -> None: method _process_result (line 1843) | def _process_result(self, command, res, response_policy: ResponsePolic... method load_external_module (line 1863) | def load_external_module(self, funcname, func): method transaction (line 1873) | def transaction(self, func, *watches, **kwargs): class ClusterNode (line 1896) | class ClusterNode: method __init__ (line 1897) | def __init__(self, host, port, server_type=None, redis_connection=None): method __repr__ (line 1907) | def __repr__(self): method __eq__ (line 1916) | def __eq__(self, obj): method __hash__ (line 1919) | def __hash__(self): class LoadBalancingStrategy (line 1923) | class LoadBalancingStrategy(Enum): class LoadBalancer (line 1929) | class LoadBalancer: method __init__ (line 1934) | def __init__(self, start_index: int = 0) -> None: method get_server_index (line 1939) | def get_server_index( method reset (line 1954) | def reset(self) -> None: method _get_random_replica_index (line 1958) | def _get_random_replica_index(self, list_size: int) -> int: method _get_round_robin_index (line 1961) | def _get_round_robin_index( class NodesManager (line 1974) | class NodesManager: method __init__ (line 1975) | def __init__( method get_node (line 2033) | def get_node( method move_slot (line 2056) | def move_slot(self, e: Union[AskError, MovedError]): method get_node_from_slot (line 2104) | def get_node_from_slot( method get_nodes_by_server_type (line 2145) | def get_nodes_by_server_type(self, server_type: Literal["primary", "re... method populate_startup_nodes (line 2162) | def populate_startup_nodes(self, nodes): method move_node_to_end_of_cached_nodes (line 2170) | def move_node_to_end_of_cached_nodes(self, node_name: str) -> None: method check_slots_coverage (line 2187) | def check_slots_coverage(self, slots_cache): method create_redis_connections (line 2195) | def create_redis_connections(self, nodes): method create_redis_node (line 2216) | def create_redis_node( method _get_or_create_cluster_node (line 2252) | def _get_or_create_cluster_node(self, host, port, role, tmp_nodes_cache): method _get_epoch (line 2273) | def _get_epoch(self) -> int: method initialize (line 2281) | def initialize( method close (line 2487) | def close(self) -> None: method reset (line 2495) | def reset(self): method remap_host_port (line 2502) | def remap_host_port(self, host: str, port: int) -> Tuple[str, int]: method find_connection_owner (line 2512) | def find_connection_owner(self, connection: Connection) -> Optional[Cl... class ClusterPubSub (line 2525) | class ClusterPubSub(PubSub): method __init__ (line 2534) | def __init__( method set_pubsub_node (line 2579) | def set_pubsub_node(self, cluster, node=None, host=None, port=None): method get_pubsub_node (line 2612) | def get_pubsub_node(self): method _raise_on_invalid_node (line 2618) | def _raise_on_invalid_node(self, redis_cluster, node, host, port): method execute_command (line 2628) | def execute_command(self, *args): method _get_node_pubsub (line 2670) | def _get_node_pubsub(self, node): method _sharded_message_generator (line 2680) | def _sharded_message_generator(self, timeout=0.0): method _pubsubs_generator (line 2692) | def _pubsubs_generator(self): method get_sharded_message (line 2697) | def get_sharded_message( method ssubscribe (line 2723) | def ssubscribe(self, *args, **kwargs): method sunsubscribe (line 2743) | def sunsubscribe(self, *args): method get_redis_connection (line 2757) | def get_redis_connection(self): method disconnect (line 2764) | def disconnect(self): class ClusterPipeline (line 2774) | class ClusterPipeline(RedisCluster): method __init__ (line 2799) | def __init__( method __repr__ (line 2889) | def __repr__(self): method __enter__ (line 2893) | def __enter__(self): method __exit__ (line 2897) | def __exit__(self, exc_type, exc_value, traceback): method __del__ (line 2901) | def __del__(self): method __len__ (line 2907) | def __len__(self): method __bool__ (line 2911) | def __bool__(self): method execute_command (line 2915) | def execute_command(self, *args, **kwargs): method pipeline_execute_command (line 2921) | def pipeline_execute_command(self, *args, **options): method annotate_exception (line 2935) | def annotate_exception(self, exception, number, command): method execute (line 2941) | def execute(self, raise_on_error: bool = True) -> List[Any]: method reset (line 2951) | def reset(self): method send_cluster_commands (line 2957) | def send_cluster_commands( method exists (line 2964) | def exists(self, *keys): method eval (line 2967) | def eval(self): method multi (line 2971) | def multi(self): method load_scripts (line 2978) | def load_scripts(self): method discard (line 2982) | def discard(self): method watch (line 2986) | def watch(self, *names): method unwatch (line 2990) | def unwatch(self): method script_load_for_pipeline (line 2994) | def script_load_for_pipeline(self, *args, **kwargs): method delete (line 2997) | def delete(self, *names): method unlink (line 3000) | def unlink(self, *names): function block_pipeline_command (line 3004) | def block_pipeline_command(name: str) -> Callable[..., Any]: class PipelineCommand (line 3098) | class PipelineCommand: method __init__ (line 3101) | def __init__(self, args, options=None, position=None): class NodeCommands (line 3113) | class NodeCommands: method __init__ (line 3116) | def __init__( method append (line 3125) | def append(self, c): method write (line 3129) | def write(self): method read (line 3151) | def read(self): class ExecutionStrategy (line 3184) | class ExecutionStrategy(ABC): method command_queue (line 3187) | def command_queue(self): method execute_command (line 3191) | def execute_command(self, *args, **kwargs): method annotate_exception (line 3200) | def annotate_exception(self, exception, number, command): method pipeline_execute_command (line 3209) | def pipeline_execute_command(self, *args, **options): method execute (line 3218) | def execute(self, raise_on_error: bool = True) -> List[Any]: method send_cluster_commands (line 3227) | def send_cluster_commands( method reset (line 3238) | def reset(self): method exists (line 3247) | def exists(self, *keys): method eval (line 3251) | def eval(self): method multi (line 3255) | def multi(self): method load_scripts (line 3264) | def load_scripts(self): method watch (line 3268) | def watch(self, *names): method unwatch (line 3272) | def unwatch(self): method script_load_for_pipeline (line 3281) | def script_load_for_pipeline(self, *args, **kwargs): method delete (line 3285) | def delete(self, *names): method unlink (line 3294) | def unlink(self, *names): method discard (line 3303) | def discard(self): class AbstractStrategy (line 3307) | class AbstractStrategy(ExecutionStrategy): method __init__ (line 3308) | def __init__( method command_queue (line 3317) | def command_queue(self): method command_queue (line 3321) | def command_queue(self, queue: List[PipelineCommand]): method execute_command (line 3325) | def execute_command(self, *args, **kwargs): method pipeline_execute_command (line 3328) | def pipeline_execute_command(self, *args, **options): method execute (line 3335) | def execute(self, raise_on_error: bool = True) -> List[Any]: method send_cluster_commands (line 3339) | def send_cluster_commands( method reset (line 3345) | def reset(self): method exists (line 3348) | def exists(self, *keys): method eval (line 3351) | def eval(self): method load_scripts (line 3355) | def load_scripts(self): method script_load_for_pipeline (line 3359) | def script_load_for_pipeline(self, *args, **kwargs): method annotate_exception (line 3365) | def annotate_exception(self, exception, number, command): class PipelineStrategy (line 3377) | class PipelineStrategy(AbstractStrategy): method __init__ (line 3378) | def __init__(self, pipe: ClusterPipeline): method execute_command (line 3382) | def execute_command(self, *args, **kwargs): method _raise_first_error (line 3385) | def _raise_first_error(self, stack, start_time): method execute (line 3402) | def execute(self, raise_on_error: bool = True) -> List[Any]: method reset (line 3412) | def reset(self): method send_cluster_commands (line 3418) | def send_cluster_commands( method _send_cluster_commands (line 3455) | def _send_cluster_commands( method _is_nodes_flag (line 3697) | def _is_nodes_flag(self, target_nodes): method _parse_target_nodes (line 3700) | def _parse_target_nodes(self, target_nodes): method _determine_nodes (line 3720) | def _determine_nodes( method multi (line 3759) | def multi(self): method discard (line 3764) | def discard(self): method watch (line 3769) | def watch(self, *names): method unwatch (line 3774) | def unwatch(self, *names): method delete (line 3779) | def delete(self, *names): method unlink (line 3787) | def unlink(self, *names): class TransactionStrategy (line 3796) | class TransactionStrategy(AbstractStrategy): method __init__ (line 3808) | def __init__(self, pipe: ClusterPipeline): method _get_client_and_connection_for_transaction (line 3820) | def _get_client_and_connection_for_transaction(self) -> Tuple[Redis, C... method execute_command (line 3853) | def execute_command(self, *args, **kwargs): method _validate_watch (line 3884) | def _validate_watch(self): method _immediate_execute_command (line 3890) | def _immediate_execute_command(self, *args, **options): method _get_connection_and_send_command (line 3897) | def _get_connection_and_send_command(self, *args, **options): method _send_command_parse_response (line 3931) | def _send_command_parse_response( method _reinitialize_on_error (line 3945) | def _reinitialize_on_error(self, error, failure_count): method _raise_first_error (line 3993) | def _raise_first_error(self, responses, stack, start_time): method execute (line 4011) | def execute(self, raise_on_error: bool = True) -> List[Any]: method _execute_transaction_with_retries (line 4018) | def _execute_transaction_with_retries( method _execute_transaction (line 4029) | def _execute_transaction( method reset (line 4142) | def reset(self): method send_cluster_commands (line 4183) | def send_cluster_commands( method multi (line 4190) | def multi(self): method watch (line 4199) | def watch(self, *names): method unwatch (line 4205) | def unwatch(self): method discard (line 4211) | def discard(self): method delete (line 4214) | def delete(self, *names): method unlink (line 4217) | def unlink(self, *names): FILE: redis/commands/bf/__init__.py class AbstractBloom (line 8) | class AbstractBloom: method append_items (line 21) | def append_items(params, items): method append_error (line 27) | def append_error(params, error): method append_capacity (line 33) | def append_capacity(params, capacity): method append_expansion (line 39) | def append_expansion(params, expansion): method append_no_scale (line 45) | def append_no_scale(params, noScale): method append_weights (line 51) | def append_weights(params, weights): method append_no_create (line 58) | def append_no_create(params, noCreate): method append_items_and_increments (line 64) | def append_items_and_increments(params, items, increments): method append_values_and_weights (line 71) | def append_values_and_weights(params, items, weights): method append_max_iterations (line 78) | def append_max_iterations(params, max_iterations): method append_bucket_size (line 84) | def append_bucket_size(params, bucket_size): class CMSBloom (line 90) | class CMSBloom(CMSCommands, AbstractBloom): method __init__ (line 91) | def __init__(self, client, **kwargs): class TOPKBloom (line 120) | class TOPKBloom(TOPKCommands, AbstractBloom): method __init__ (line 121) | def __init__(self, client, **kwargs): class CFBloom (line 151) | class CFBloom(CFCommands, AbstractBloom): method __init__ (line 152) | def __init__(self, client, **kwargs): class TDigestBloom (line 186) | class TDigestBloom(TDigestCommands, AbstractBloom): method __init__ (line 187) | def __init__(self, client, **kwargs): class BFBloom (line 222) | class BFBloom(BFCommands, AbstractBloom): method __init__ (line 223) | def __init__(self, client, **kwargs): FILE: redis/commands/bf/commands.py class BFCommands (line 59) | class BFCommands: method create (line 62) | def create(self, key, errorRate, capacity, expansion=None, noScale=None): method add (line 76) | def add(self, key, item): method madd (line 83) | def madd(self, key, *items): method insert (line 90) | def insert( method exists (line 118) | def exists(self, key, item): method mexists (line 125) | def mexists(self, key, *items): method scandump (line 132) | def scandump(self, key, iter): method loadchunk (line 146) | def loadchunk(self, key, iter, data): method info (line 157) | def info(self, key): method card (line 164) | def card(self, key): class CFCommands (line 173) | class CFCommands: method create (line 176) | def create( method add (line 191) | def add(self, key, item): method addnx (line 198) | def addnx(self, key, item): method insert (line 206) | def insert(self, key, items, capacity=None, nocreate=None): method insertnx (line 219) | def insertnx(self, key, items, capacity=None, nocreate=None): method exists (line 232) | def exists(self, key, item): method mexists (line 239) | def mexists(self, key, *items): method delete (line 246) | def delete(self, key, item): method count (line 253) | def count(self, key, item): method scandump (line 260) | def scandump(self, key, iter): method loadchunk (line 273) | def loadchunk(self, key, iter, data): method info (line 283) | def info(self, key): class TOPKCommands (line 292) | class TOPKCommands: method reserve (line 295) | def reserve(self, key, k, width, depth, decay): method add (line 303) | def add(self, key, *items): method incrby (line 310) | def incrby(self, key, items, increments): method query (line 324) | def query(self, key, *items): method count (line 332) | def count(self, key, *items): method list (line 339) | def list(self, key, withcount=False): method info (line 351) | def info(self, key): class TDigestCommands (line 359) | class TDigestCommands: method create (line 360) | def create(self, key, compression=100): method reset (line 367) | def reset(self, key): method add (line 374) | def add(self, key, values): method merge (line 382) | def merge(self, destination_key, num_keys, *keys, compression=None, ov... method min (line 399) | def min(self, key): method max (line 406) | def max(self, key): method quantile (line 413) | def quantile(self, key, quantile, *quantiles): method cdf (line 422) | def cdf(self, key, value, *values): method info (line 429) | def info(self, key): method trimmed_mean (line 437) | def trimmed_mean(self, key, low_cut_quantile, high_cut_quantile): method rank (line 447) | def rank(self, key, value, *values): method revrank (line 456) | def revrank(self, key, value, *values): method byrank (line 465) | def byrank(self, key, rank, *ranks): method byrevrank (line 473) | def byrevrank(self, key, rank, *ranks): class CMSCommands (line 482) | class CMSCommands: method initbydim (line 485) | def initbydim(self, key, width, depth): method initbyprob (line 492) | def initbyprob(self, key, error, probability): method incrby (line 499) | def incrby(self, key, items, increments): method query (line 513) | def query(self, key, *items): method merge (line 520) | def merge(self, destKey, numKeys, srcKeys, weights=[]): method info (line 533) | def info(self, key): FILE: redis/commands/bf/info.py class BFInfo (line 4) | class BFInfo: method __init__ (line 11) | def __init__(self, args): method get (line 19) | def get(self, item): method __getitem__ (line 25) | def __getitem__(self, item): class CFInfo (line 29) | class CFInfo: method __init__ (line 39) | def __init__(self, args): method get (line 50) | def get(self, item): method __getitem__ (line 56) | def __getitem__(self, item): class CMSInfo (line 60) | class CMSInfo: method __init__ (line 65) | def __init__(self, args): method __getitem__ (line 71) | def __getitem__(self, item): class TopKInfo (line 75) | class TopKInfo: method __init__ (line 81) | def __init__(self, args): method __getitem__ (line 88) | def __getitem__(self, item): class TDigestInfo (line 92) | class TDigestInfo: method __init__ (line 102) | def __init__(self, args): method get (line 113) | def get(self, item): method __getitem__ (line 119) | def __getitem__(self, item): FILE: redis/commands/cluster.py class ClusterMultiKeyCommands (line 167) | class ClusterMultiKeyCommands(ClusterCommandsProtocol): method _partition_keys_by_slot (line 172) | def _partition_keys_by_slot(self, keys: Iterable[KeyT]) -> Dict[int, L... method _partition_pairs_by_slot (line 182) | def _partition_pairs_by_slot( method _execute_pipeline_by_slot (line 194) | def _execute_pipeline_by_slot( method _reorder_keys_by_command (line 211) | def _reorder_keys_by_command( method mget_nonatomic (line 224) | def mget_nonatomic(self, keys: KeysT, *args: KeyT) -> List[Optional[An... method mset_nonatomic (line 247) | def mset_nonatomic(self, mapping: Mapping[AnyKeyT, EncodableT]) -> Lis... method _split_command_across_slots (line 266) | def _split_command_across_slots(self, command: str, *keys: KeyT) -> int: method exists (line 278) | def exists(self, *keys: KeyT) -> ResponseT: method delete (line 288) | def delete(self, *keys: KeyT) -> ResponseT: method touch (line 301) | def touch(self, *keys: KeyT) -> ResponseT: method unlink (line 316) | def unlink(self, *keys: KeyT) -> ResponseT: class AsyncClusterMultiKeyCommands (line 331) | class AsyncClusterMultiKeyCommands(ClusterMultiKeyCommands): method mget_nonatomic (line 336) | async def mget_nonatomic(self, keys: KeysT, *args: KeyT) -> List[Optio... method mset_nonatomic (line 359) | async def mset_nonatomic(self, mapping: Mapping[AnyKeyT, EncodableT]) ... method _split_command_across_slots (line 378) | async def _split_command_across_slots(self, command: str, *keys: KeyT)... method _execute_pipeline_by_slot (line 390) | async def _execute_pipeline_by_slot( class ClusterManagementCommands (line 410) | class ClusterManagementCommands(ManagementCommands): method slaveof (line 418) | def slaveof(self, *args, **kwargs) -> NoReturn: method replicaof (line 426) | def replicaof(self, *args, **kwargs) -> NoReturn: method swapdb (line 434) | def swapdb(self, *args, **kwargs) -> NoReturn: method cluster_myid (line 442) | def cluster_myid(self, target_node: "TargetNodesT") -> ResponseT: method cluster_addslots (line 453) | def cluster_addslots( method cluster_addslotsrange (line 468) | def cluster_addslotsrange( method cluster_countkeysinslot (line 486) | def cluster_countkeysinslot(self, slot_id: int) -> ResponseT: method cluster_count_failure_report (line 495) | def cluster_count_failure_report(self, node_id: str) -> ResponseT: method cluster_delslots (line 504) | def cluster_delslots(self, *slots: EncodableT) -> List[bool]: method cluster_delslotsrange (line 515) | def cluster_delslotsrange(self, *slots: EncodableT) -> ResponseT: method cluster_failover (line 526) | def cluster_failover( method cluster_info (line 550) | def cluster_info(self, target_nodes: Optional["TargetNodesT"] = None) ... method cluster_keyslot (line 560) | def cluster_keyslot(self, key: str) -> ResponseT: method cluster_meet (line 569) | def cluster_meet( method cluster_nodes (line 582) | def cluster_nodes(self) -> ResponseT: method cluster_replicate (line 591) | def cluster_replicate( method cluster_reset (line 603) | def cluster_reset( method cluster_save_config (line 618) | def cluster_save_config( method cluster_get_keys_in_slot (line 628) | def cluster_get_keys_in_slot(self, slot: int, num_keys: int) -> Respon... method cluster_set_config_epoch (line 636) | def cluster_set_config_epoch( method cluster_setslot (line 648) | def cluster_setslot( method cluster_setslot_stable (line 668) | def cluster_setslot_stable(self, slot_id: int) -> ResponseT: method cluster_replicas (line 677) | def cluster_replicas( method cluster_slots (line 690) | def cluster_slots(self, target_nodes: Optional["TargetNodesT"] = None)... method cluster_shards (line 698) | def cluster_shards(self, target_nodes=None): method cluster_myshardid (line 706) | def cluster_myshardid(self, target_nodes=None): method cluster_links (line 714) | def cluster_links(self, target_node: "TargetNodesT") -> ResponseT: method cluster_flushslots (line 726) | def cluster_flushslots(self, target_nodes: Optional["TargetNodesT"] = ... method cluster_bumpepoch (line 731) | def cluster_bumpepoch(self, target_nodes: Optional["TargetNodesT"] = N... method readonly (line 736) | def readonly(self, target_nodes: Optional["TargetNodesT"] = None) -> R... method readwrite (line 750) | def readwrite(self, target_nodes: Optional["TargetNodesT"] = None) -> ... method client_tracking_on (line 766) | def client_tracking_on( method client_tracking_off (line 801) | def client_tracking_off( method hotkeys_start (line 832) | def hotkeys_start( method hotkeys_stop (line 850) | def hotkeys_stop(self, **kwargs) -> Union[str, bytes]: method hotkeys_reset (line 860) | def hotkeys_reset(self, **kwargs) -> Union[str, bytes]: method hotkeys_get (line 870) | def hotkeys_get(self, **kwargs) -> list[dict[Union[str, bytes], Any]]: class AsyncClusterManagementCommands (line 881) | class AsyncClusterManagementCommands( method cluster_delslots (line 891) | async def cluster_delslots(self, *slots: EncodableT) -> List[bool]: method client_tracking_on (line 911) | async def client_tracking_on( method client_tracking_off (line 946) | async def client_tracking_off( method hotkeys_start (line 977) | async def hotkeys_start( method hotkeys_stop (line 995) | async def hotkeys_stop(self, **kwargs) -> Awaitable[Union[str, bytes]]: method hotkeys_reset (line 1005) | async def hotkeys_reset(self, **kwargs) -> Awaitable[Union[str, bytes]]: method hotkeys_get (line 1015) | async def hotkeys_get( class ClusterDataAccessCommands (line 1028) | class ClusterDataAccessCommands(DataAccessCommands): method stralgo (line 1036) | def stralgo( method scan_iter (line 1083) | def scan_iter( class AsyncClusterDataAccessCommands (line 1119) | class AsyncClusterDataAccessCommands( method scan_iter (line 1129) | async def scan_iter( class RedisClusterCommands (line 1167) | class RedisClusterCommands( class AsyncRedisClusterCommands (line 1198) | class AsyncRedisClusterCommands( FILE: redis/commands/core.py class ACLCommands (line 101) | class ACLCommands(CommandsProtocol): method acl_cat (line 108) | def acl_cat( method acl_cat (line 113) | def acl_cat( method acl_cat (line 117) | def acl_cat( method acl_dryrun (line 133) | def acl_dryrun( method acl_dryrun (line 138) | def acl_dryrun( method acl_dryrun (line 142) | def acl_dryrun(self, username: str, *args: EncodableT, **kwargs) -> ( method acl_deluser (line 153) | def acl_deluser(self: SyncClientProtocol, *username: str, **kwargs) ->... method acl_deluser (line 156) | def acl_deluser( method acl_deluser (line 160) | def acl_deluser(self, *username: str, **kwargs) -> int | Awaitable[int]: method acl_genpass (line 169) | def acl_genpass( method acl_genpass (line 174) | def acl_genpass( method acl_genpass (line 178) | def acl_genpass(self, bits: int | None = None, **kwargs) -> ( method acl_getuser (line 200) | def acl_getuser( method acl_getuser (line 205) | def acl_getuser( method acl_getuser (line 209) | def acl_getuser( method acl_help (line 222) | def acl_help(self: SyncClientProtocol, **kwargs) -> list[bytes | str]:... method acl_help (line 225) | def acl_help( method acl_help (line 229) | def acl_help(self, **kwargs) -> list[bytes | str] | Awaitable[list[byt... method acl_list (line 238) | def acl_list(self: SyncClientProtocol, **kwargs) -> list[bytes | str]:... method acl_list (line 241) | def acl_list( method acl_list (line 245) | def acl_list(self, **kwargs) -> list[bytes | str] | Awaitable[list[byt... method acl_log (line 254) | def acl_log( method acl_log (line 259) | def acl_log( method acl_log (line 263) | def acl_log( method acl_log_reset (line 282) | def acl_log_reset(self: SyncClientProtocol, **kwargs) -> bool: ... method acl_log_reset (line 285) | def acl_log_reset(self: AsyncClientProtocol, **kwargs) -> Awaitable[bo... method acl_log_reset (line 287) | def acl_log_reset(self, **kwargs) -> bool | Awaitable[bool]: method acl_load (line 298) | def acl_load(self: SyncClientProtocol, **kwargs) -> bool: ... method acl_load (line 301) | def acl_load(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method acl_load (line 303) | def acl_load(self, **kwargs) -> bool | Awaitable[bool]: method acl_save (line 315) | def acl_save(self: SyncClientProtocol, **kwargs) -> bool: ... method acl_save (line 318) | def acl_save(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method acl_save (line 320) | def acl_save(self, **kwargs) -> bool | Awaitable[bool]: method acl_setuser (line 332) | def acl_setuser( method acl_setuser (line 352) | def acl_setuser( method acl_setuser (line 371) | def acl_setuser( method acl_users (line 563) | def acl_users(self: SyncClientProtocol, **kwargs) -> list[bytes | str]... method acl_users (line 566) | def acl_users( method acl_users (line 570) | def acl_users(self, **kwargs) -> list[bytes | str] | Awaitable[list[by... method acl_whoami (line 578) | def acl_whoami(self: SyncClientProtocol, **kwargs) -> bytes | str: ... method acl_whoami (line 581) | def acl_whoami(self: AsyncClientProtocol, **kwargs) -> Awaitable[bytes... method acl_whoami (line 583) | def acl_whoami(self, **kwargs) -> (bytes | str) | Awaitable[bytes | str]: class HotkeysMetricsTypes (line 594) | class HotkeysMetricsTypes(Enum): class ManagementCommands (line 599) | class ManagementCommands(CommandsProtocol): method auth (line 605) | def auth( method auth (line 613) | def auth( method auth (line 620) | def auth( method bgrewriteaof (line 636) | def bgrewriteaof(self: SyncClientProtocol, **kwargs) -> bool | bytes |... method bgrewriteaof (line 639) | def bgrewriteaof( method bgrewriteaof (line 643) | def bgrewriteaof(self, **kwargs) -> (bool | bytes | str) | Awaitable[ method bgsave (line 653) | def bgsave( method bgsave (line 658) | def bgsave( method bgsave (line 662) | def bgsave(self, schedule: bool = True, **kwargs) -> ( method role (line 677) | def role(self: SyncClientProtocol) -> list[Any]: ... method role (line 680) | def role(self: AsyncClientProtocol) -> Awaitable[list[Any]]: ... method role (line 682) | def role(self) -> list[Any] | Awaitable[list[Any]]: method client_kill (line 693) | def client_kill(self: SyncClientProtocol, address: str, **kwargs) -> b... method client_kill (line 696) | def client_kill( method client_kill (line 700) | def client_kill(self, address: str, **kwargs) -> (bool | int) | Awaita... method client_kill_filter (line 710) | def client_kill_filter( method client_kill_filter (line 723) | def client_kill_filter( method client_kill_filter (line 735) | def client_kill_filter( method client_info (line 790) | def client_info(self: SyncClientProtocol, **kwargs) -> dict[str, str |... method client_info (line 793) | def client_info( method client_info (line 797) | def client_info( method client_list (line 809) | def client_list( method client_list (line 817) | def client_list( method client_list (line 824) | def client_list( method client_getname (line 852) | def client_getname(self: SyncClientProtocol, **kwargs) -> bytes | str ... method client_getname (line 855) | def client_getname( method client_getname (line 859) | def client_getname(self, **kwargs) -> (bytes | str | None) | Awaitable[ method client_getredir (line 870) | def client_getredir(self: SyncClientProtocol, **kwargs) -> int: ... method client_getredir (line 873) | def client_getredir(self: AsyncClientProtocol, **kwargs) -> Awaitable[... method client_getredir (line 875) | def client_getredir(self, **kwargs) -> int | Awaitable[int]: method client_reply (line 885) | def client_reply( method client_reply (line 892) | def client_reply( method client_reply (line 898) | def client_reply(self, reply: Literal["ON", "OFF", "SKIP"], **kwargs) ... method client_id (line 923) | def client_id(self: SyncClientProtocol, **kwargs) -> int: ... method client_id (line 926) | def client_id(self: AsyncClientProtocol, **kwargs) -> Awaitable[int]: ... method client_id (line 928) | def client_id(self, **kwargs) -> int | Awaitable[int]: method client_tracking_on (line 937) | def client_tracking_on( method client_tracking_on (line 948) | def client_tracking_on( method client_tracking_on (line 958) | def client_tracking_on( method client_tracking_off (line 978) | def client_tracking_off( method client_tracking_off (line 989) | def client_tracking_off( method client_tracking_off (line 999) | def client_tracking_off( method client_tracking (line 1019) | def client_tracking( method client_tracking (line 1032) | def client_tracking( method client_tracking (line 1044) | def client_tracking( method client_trackinginfo (line 1105) | def client_trackinginfo( method client_trackinginfo (line 1110) | def client_trackinginfo( method client_trackinginfo (line 1114) | def client_trackinginfo( method client_setname (line 1126) | def client_setname(self: SyncClientProtocol, name: str, **kwargs) -> b... method client_setname (line 1129) | def client_setname( method client_setname (line 1133) | def client_setname(self, name: str, **kwargs) -> bool | Awaitable[bool]: method client_setinfo (line 1148) | def client_setinfo( method client_setinfo (line 1153) | def client_setinfo( method client_setinfo (line 1157) | def client_setinfo(self, attr: str, value: str, **kwargs) -> bool | Aw... method client_unblock (line 1165) | def client_unblock( method client_unblock (line 1170) | def client_unblock( method client_unblock (line 1174) | def client_unblock( method client_pause (line 1191) | def client_pause( method client_pause (line 1196) | def client_pause( method client_pause (line 1200) | def client_pause( method client_unpause (line 1231) | def client_unpause(self: SyncClientProtocol, **kwargs) -> bytes | str:... method client_unpause (line 1234) | def client_unpause( method client_unpause (line 1238) | def client_unpause(self, **kwargs) -> (bytes | str) | Awaitable[bytes ... method client_no_evict (line 1247) | def client_no_evict(self: SyncClientProtocol, mode: str) -> bytes | st... method client_no_evict (line 1250) | def client_no_evict( method client_no_evict (line 1254) | def client_no_evict(self, mode: str) -> (bytes | str) | Awaitable[byte... method client_no_touch (line 1263) | def client_no_touch(self: SyncClientProtocol, mode: str) -> bytes | st... method client_no_touch (line 1266) | def client_no_touch( method client_no_touch (line 1270) | def client_no_touch(self, mode: str) -> (bytes | str) | Awaitable[byte... method command (line 1282) | def command(self: SyncClientProtocol, **kwargs) -> dict[str, dict[str,... method command (line 1285) | def command( method command (line 1289) | def command( method command_info (line 1299) | def command_info(self, **kwargs) -> None: method command_count (line 1305) | def command_count(self: SyncClientProtocol, **kwargs) -> int: ... method command_count (line 1308) | def command_count(self: AsyncClientProtocol, **kwargs) -> Awaitable[in... method command_count (line 1310) | def command_count(self, **kwargs) -> int | Awaitable[int]: method command_list (line 1314) | def command_list( method command_list (line 1322) | def command_list( method command_list (line 1329) | def command_list( method command_getkeysandflags (line 1358) | def command_getkeysandflags( method command_getkeysandflags (line 1363) | def command_getkeysandflags( method command_getkeysandflags (line 1367) | def command_getkeysandflags( method command_docs (line 1377) | def command_docs(self, *args): method config_get (line 1387) | def config_get( method config_get (line 1392) | def config_get( method config_get (line 1396) | def config_get( method config_set (line 1407) | def config_set( method config_set (line 1416) | def config_set( method config_set (line 1424) | def config_set( method config_resetstat (line 1438) | def config_resetstat(self: SyncClientProtocol, **kwargs) -> bool: ... method config_resetstat (line 1441) | def config_resetstat(self: AsyncClientProtocol, **kwargs) -> Awaitable... method config_resetstat (line 1443) | def config_resetstat(self, **kwargs) -> bool | Awaitable[bool]: method config_rewrite (line 1452) | def config_rewrite(self: SyncClientProtocol, **kwargs) -> bytes | str:... method config_rewrite (line 1455) | def config_rewrite( method config_rewrite (line 1459) | def config_rewrite(self, **kwargs) -> (bytes | str) | Awaitable[bytes ... method dbsize (line 1468) | def dbsize(self: SyncClientProtocol, **kwargs) -> int: ... method dbsize (line 1471) | def dbsize(self: AsyncClientProtocol, **kwargs) -> Awaitable[int]: ... method dbsize (line 1473) | def dbsize(self, **kwargs) -> int | Awaitable[int]: method debug_object (line 1482) | def debug_object( method debug_object (line 1487) | def debug_object( method debug_object (line 1491) | def debug_object(self, key: KeyT, **kwargs) -> ( method debug_segfault (line 1501) | def debug_segfault(self, **kwargs) -> None: method echo (line 1511) | def echo(self: SyncClientProtocol, value: EncodableT, **kwargs) -> byt... method echo (line 1514) | def echo( method echo (line 1518) | def echo(self, value: EncodableT, **kwargs) -> (bytes | str) | Awaitable[ method flushall (line 1529) | def flushall( method flushall (line 1534) | def flushall( method flushall (line 1538) | def flushall(self, asynchronous: bool = False, **kwargs) -> bool | Awa... method flushdb (line 1553) | def flushdb( method flushdb (line 1558) | def flushdb( method flushdb (line 1562) | def flushdb(self, asynchronous: bool = False, **kwargs) -> bool | Awai... method sync (line 1577) | def sync(self: SyncClientProtocol) -> bytes: ... method sync (line 1580) | def sync(self: AsyncClientProtocol) -> Awaitable[bytes]: ... method sync (line 1582) | def sync(self) -> bytes | Awaitable[bytes]: method psync (line 1595) | def psync(self: SyncClientProtocol, replicationid: str, offset: int) -... method psync (line 1598) | def psync( method psync (line 1602) | def psync(self, replicationid: str, offset: int) -> bytes | Awaitable[... method swapdb (line 1616) | def swapdb(self: SyncClientProtocol, first: int, second: int, **kwargs... method swapdb (line 1619) | def swapdb( method swapdb (line 1623) | def swapdb(self, first: int, second: int, **kwargs) -> bool | Awaitabl... method select (line 1632) | def select(self: SyncClientProtocol, index: int, **kwargs) -> bool: ... method select (line 1635) | def select(self: AsyncClientProtocol, index: int, **kwargs) -> Awaitab... method select (line 1637) | def select(self, index: int, **kwargs) -> bool | Awaitable[bool]: method info (line 1645) | def info( method info (line 1653) | def info( method info (line 1660) | def info( method lastsave (line 1680) | def lastsave(self: SyncClientProtocol, **kwargs) -> datetime.datetime:... method lastsave (line 1683) | def lastsave( method lastsave (line 1687) | def lastsave(self, **kwargs) -> datetime.datetime | Awaitable[datetime... method latency_doctor (line 1696) | def latency_doctor(self): method latency_graph (line 1710) | def latency_graph(self): method lolwut (line 1725) | def lolwut( method lolwut (line 1730) | def lolwut( method lolwut (line 1734) | def lolwut(self, *version_numbers: Union[str, float], **kwargs) -> ( method reset (line 1748) | def reset(self: SyncClientProtocol) -> bytes | str: ... method reset (line 1751) | def reset(self: AsyncClientProtocol) -> Awaitable[bytes | str]: ... method reset (line 1753) | def reset(self) -> (bytes | str) | Awaitable[bytes | str]: method migrate (line 1761) | def migrate( method migrate (line 1775) | def migrate( method migrate (line 1788) | def migrate( method object (line 1837) | def object(self: SyncClientProtocol, infotype: str, key: KeyT, **kwarg... method object (line 1840) | def object( method object (line 1844) | def object(self, infotype: str, key: KeyT, **kwargs) -> Any | Awaitabl... method memory_doctor (line 1852) | def memory_doctor(self, **kwargs) -> None: method memory_help (line 1861) | def memory_help(self, **kwargs) -> None: method memory_stats (line 1871) | def memory_stats(self: SyncClientProtocol, **kwargs) -> dict[str, Any]... method memory_stats (line 1874) | def memory_stats( method memory_stats (line 1878) | def memory_stats(self, **kwargs) -> dict[str, Any] | Awaitable[dict[st... method memory_malloc_stats (line 1887) | def memory_malloc_stats(self: SyncClientProtocol, **kwargs) -> bytes |... method memory_malloc_stats (line 1890) | def memory_malloc_stats( method memory_malloc_stats (line 1894) | def memory_malloc_stats(self, **kwargs) -> (bytes | str) | Awaitable[b... method memory_usage (line 1903) | def memory_usage( method memory_usage (line 1908) | def memory_usage( method memory_usage (line 1912) | def memory_usage(self, key: KeyT, samples: int | None = None, **kwargs... method memory_purge (line 1931) | def memory_purge(self: SyncClientProtocol, **kwargs) -> bool: ... method memory_purge (line 1934) | def memory_purge(self: AsyncClientProtocol, **kwargs) -> Awaitable[boo... method memory_purge (line 1936) | def memory_purge(self, **kwargs) -> bool | Awaitable[bool]: method latency_histogram (line 1944) | def latency_histogram(self, *args): method latency_history (line 1954) | def latency_history(self: SyncClientProtocol, event: str) -> list[list... method latency_history (line 1957) | def latency_history( method latency_history (line 1961) | def latency_history( method latency_latest (line 1972) | def latency_latest(self: SyncClientProtocol) -> list[list[bytes | str ... method latency_latest (line 1975) | def latency_latest( method latency_latest (line 1979) | def latency_latest( method latency_reset (line 1990) | def latency_reset(self: SyncClientProtocol, *events: str) -> int: ... method latency_reset (line 1993) | def latency_reset(self: AsyncClientProtocol, *events: str) -> Awaitabl... method latency_reset (line 1995) | def latency_reset(self, *events: str) -> int | Awaitable[int]: method ping (line 2004) | def ping(self: SyncClientProtocol, **kwargs) -> bool: ... method ping (line 2007) | def ping(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method ping (line 2009) | def ping(self, **kwargs) -> Union[Awaitable[bool], bool]: method quit (line 2025) | def quit(self: SyncClientProtocol, **kwargs) -> bool: ... method quit (line 2028) | def quit(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method quit (line 2030) | def quit(self, **kwargs) -> bool | Awaitable[bool]: method replicaof (line 2039) | def replicaof(self: SyncClientProtocol, *args, **kwargs) -> bytes | st... method replicaof (line 2042) | def replicaof( method replicaof (line 2046) | def replicaof(self, *args, **kwargs) -> (bytes | str) | Awaitable[byte... method save (line 2060) | def save(self: SyncClientProtocol, **kwargs) -> bool: ... method save (line 2063) | def save(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method save (line 2065) | def save(self, **kwargs) -> bool | Awaitable[bool]: method shutdown (line 2074) | def shutdown( method slaveof (line 2117) | def slaveof( method slaveof (line 2125) | def slaveof( method slaveof (line 2132) | def slaveof( method slowlog_get (line 2147) | def slowlog_get( method slowlog_get (line 2152) | def slowlog_get( method slowlog_get (line 2156) | def slowlog_get( method slowlog_len (line 2176) | def slowlog_len(self: SyncClientProtocol, **kwargs) -> int: ... method slowlog_len (line 2179) | def slowlog_len(self: AsyncClientProtocol, **kwargs) -> Awaitable[int]... method slowlog_len (line 2181) | def slowlog_len(self, **kwargs) -> int | Awaitable[int]: method slowlog_reset (line 2190) | def slowlog_reset(self: SyncClientProtocol, **kwargs) -> bool: ... method slowlog_reset (line 2193) | def slowlog_reset(self: AsyncClientProtocol, **kwargs) -> Awaitable[bo... method slowlog_reset (line 2195) | def slowlog_reset(self, **kwargs) -> bool | Awaitable[bool]: method time (line 2204) | def time(self: SyncClientProtocol, **kwargs) -> tuple[int, int]: ... method time (line 2207) | def time(self: AsyncClientProtocol, **kwargs) -> Awaitable[tuple[int, ... method time (line 2209) | def time(self, **kwargs) -> tuple[int, int] | Awaitable[tuple[int, int]]: method wait (line 2219) | def wait( method wait (line 2224) | def wait( method wait (line 2228) | def wait(self, num_replicas: int, timeout: int, **kwargs) -> int | Awa... method waitaof (line 2240) | def waitaof( method waitaof (line 2249) | def waitaof( method waitaof (line 2257) | def waitaof( method hello (line 2272) | def hello(self): method failover (line 2281) | def failover(self): method hotkeys_start (line 2291) | def hotkeys_start( method hotkeys_start (line 2302) | def hotkeys_start( method hotkeys_start (line 2312) | def hotkeys_start( method hotkeys_stop (line 2361) | def hotkeys_stop(self: SyncClientProtocol, **kwargs) -> bytes | str: ... method hotkeys_stop (line 2364) | def hotkeys_stop(self: AsyncClientProtocol, **kwargs) -> Awaitable[byt... method hotkeys_stop (line 2366) | def hotkeys_stop(self, **kwargs) -> (bytes | str) | Awaitable[bytes | ... method hotkeys_reset (line 2376) | def hotkeys_reset(self: SyncClientProtocol, **kwargs) -> bytes | str: ... method hotkeys_reset (line 2379) | def hotkeys_reset( method hotkeys_reset (line 2383) | def hotkeys_reset(self, **kwargs) -> (bytes | str) | Awaitable[bytes |... method hotkeys_get (line 2393) | def hotkeys_get( method hotkeys_get (line 2398) | def hotkeys_get( method hotkeys_get (line 2402) | def hotkeys_get( class AsyncManagementCommands (line 2421) | class AsyncManagementCommands(ManagementCommands): method command_info (line 2422) | async def command_info(self, **kwargs) -> None: method debug_segfault (line 2425) | async def debug_segfault(self, **kwargs) -> None: method memory_doctor (line 2428) | async def memory_doctor(self, **kwargs) -> None: method memory_help (line 2431) | async def memory_help(self, **kwargs) -> None: method shutdown (line 2434) | async def shutdown( class BitFieldOperation (line 2472) | class BitFieldOperation: method __init__ (line 2477) | def __init__( method reset (line 2491) | def reset(self): method overflow (line 2499) | def overflow(self, overflow: str): method incrby (line 2512) | def incrby( method get (line 2538) | def get(self, fmt: str, offset: BitfieldOffsetT): method set (line 2551) | def set(self, fmt: str, offset: BitfieldOffsetT, value: int): method command (line 2566) | def command(self): method execute (line 2572) | def execute(self) -> ResponseT: class DataPersistOptions (line 2584) | class DataPersistOptions(Enum): class BasicKeyCommands (line 2594) | class BasicKeyCommands(CommandsProtocol): method append (line 2600) | def append(self: SyncClientProtocol, key: KeyT, value: EncodableT) -> ... method append (line 2603) | def append( method append (line 2607) | def append(self, key: KeyT, value: EncodableT) -> int | Awaitable[int]: method bitcount (line 2618) | def bitcount( method bitcount (line 2627) | def bitcount( method bitcount (line 2635) | def bitcount( method bitfield (line 2658) | def bitfield( method bitfield_ro (line 2672) | def bitfield_ro( method bitfield_ro (line 2681) | def bitfield_ro( method bitfield_ro (line 2689) | def bitfield_ro( method bitop (line 2713) | def bitop( method bitop (line 2718) | def bitop( method bitop (line 2722) | def bitop(self, operation: str, dest: KeyT, *keys: KeyT) -> int | Awai... method bitpos (line 2732) | def bitpos( method bitpos (line 2742) | def bitpos( method bitpos (line 2751) | def bitpos( method copy (line 2783) | def copy( method copy (line 2792) | def copy( method copy (line 2800) | def copy( method decrby (line 2827) | def decrby(self: SyncClientProtocol, name: KeyT, amount: int = 1) -> i... method decrby (line 2830) | def decrby( method decrby (line 2834) | def decrby(self, name: KeyT, amount: int = 1) -> int | Awaitable[int]: method delete (line 2846) | def delete(self: SyncClientProtocol, *names: KeyT) -> int: ... method delete (line 2849) | def delete(self: AsyncClientProtocol, *names: KeyT) -> Awaitable[int]:... method delete (line 2851) | def delete(self, *names: KeyT) -> int | Awaitable[int]: method __delitem__ (line 2857) | def __delitem__(self, name: KeyT): method delex (line 2861) | def delex( method delex (line 2871) | def delex( method delex (line 2881) | def delex( method dump (line 2932) | def dump(self: SyncClientProtocol, name: KeyT) -> bytes | None: ... method dump (line 2935) | def dump(self: AsyncClientProtocol, name: KeyT) -> Awaitable[bytes | N... method dump (line 2937) | def dump(self, name: KeyT) -> (bytes | None) | Awaitable[bytes | None]: method exists (line 2951) | def exists(self: SyncClientProtocol, *names: KeyT) -> int: ... method exists (line 2954) | def exists(self: AsyncClientProtocol, *names: KeyT) -> Awaitable[int]:... method exists (line 2956) | def exists(self, *names: KeyT) -> int | Awaitable[int]: method expire (line 2967) | def expire( method expire (line 2978) | def expire( method expire (line 2988) | def expire( method expireat (line 3026) | def expireat( method expireat (line 3037) | def expireat( method expireat (line 3047) | def expireat( method expiretime (line 3085) | def expiretime(self: SyncClientProtocol, key: str) -> int: ... method expiretime (line 3088) | def expiretime(self: AsyncClientProtocol, key: str) -> Awaitable[int]:... method expiretime (line 3090) | def expiretime(self, key: str) -> int | Awaitable[int]: method digest_local (line 3100) | def digest_local(self, value: bytes | str) -> bytes | str: method digest (line 3138) | def digest(self: SyncClientProtocol, name: KeyT) -> str | bytes | None... method digest (line 3141) | def digest( method digest (line 3146) | def digest(self, name: KeyT) -> (str | bytes | None) | Awaitable[ method get (line 3174) | def get(self: SyncClientProtocol, name: KeyT) -> bytes | str | None: ... method get (line 3177) | def get(self: AsyncClientProtocol, name: KeyT) -> Awaitable[bytes | st... method get (line 3179) | def get(self, name: KeyT) -> (bytes | str | None) | Awaitable[bytes | ... method getdel (line 3188) | def getdel(self: SyncClientProtocol, name: KeyT) -> bytes | str | None... method getdel (line 3191) | def getdel( method getdel (line 3195) | def getdel(self, name: KeyT) -> (bytes | str | None) | Awaitable[ method getex (line 3209) | def getex( method getex (line 3220) | def getex( method getex (line 3230) | def getex( method __getitem__ (line 3272) | def __getitem__(self, name: KeyT): method getbit (line 3283) | def getbit(self: SyncClientProtocol, name: KeyT, offset: int) -> int: ... method getbit (line 3286) | def getbit( method getbit (line 3290) | def getbit(self, name: KeyT, offset: int) -> int | Awaitable[int]: method getrange (line 3299) | def getrange( method getrange (line 3304) | def getrange( method getrange (line 3308) | def getrange(self, key: KeyT, start: int, end: int) -> (bytes | str) |... method getset (line 3320) | def getset( method getset (line 3325) | def getset( method getset (line 3329) | def getset(self, name: KeyT, value: EncodableT) -> (bytes | str | None... method incrby (line 3344) | def incrby(self: SyncClientProtocol, name: KeyT, amount: int = 1) -> i... method incrby (line 3347) | def incrby( method incrby (line 3351) | def incrby(self, name: KeyT, amount: int = 1) -> int | Awaitable[int]: method incrbyfloat (line 3363) | def incrbyfloat( method incrbyfloat (line 3368) | def incrbyfloat( method incrbyfloat (line 3372) | def incrbyfloat(self, name: KeyT, amount: float = 1.0) -> float | Awai... method keys (line 3382) | def keys( method keys (line 3387) | def keys( method keys (line 3391) | def keys( method lmove (line 3402) | def lmove( method lmove (line 3411) | def lmove( method lmove (line 3419) | def lmove( method blmove (line 3433) | def blmove( method blmove (line 3443) | def blmove( method blmove (line 3452) | def blmove( method mget (line 3469) | def mget( method mget (line 3474) | def mget( method mget (line 3478) | def mget( method mset (line 3500) | def mset( method mset (line 3505) | def mset( method mset (line 3509) | def mset(self, mapping: Mapping[AnyKeyT, EncodableT]) -> bool | Awaita... method msetex (line 3527) | def msetex( method msetex (line 3539) | def msetex( method msetex (line 3550) | def msetex( method msetnx (line 3616) | def msetnx( method msetnx (line 3621) | def msetnx( method msetnx (line 3625) | def msetnx(self, mapping: Mapping[AnyKeyT, EncodableT]) -> bool | Awai... method move (line 3644) | def move(self: SyncClientProtocol, name: KeyT, db: int) -> bool: ... method move (line 3647) | def move(self: AsyncClientProtocol, name: KeyT, db: int) -> Awaitable[... method move (line 3649) | def move(self, name: KeyT, db: int) -> bool | Awaitable[bool]: method persist (line 3658) | def persist(self: SyncClientProtocol, name: KeyT) -> bool: ... method persist (line 3661) | def persist(self: AsyncClientProtocol, name: KeyT) -> Awaitable[bool]:... method persist (line 3663) | def persist(self, name: KeyT) -> bool | Awaitable[bool]: method pexpire (line 3672) | def pexpire( method pexpire (line 3683) | def pexpire( method pexpire (line 3693) | def pexpire( method pexpireat (line 3730) | def pexpireat( method pexpireat (line 3741) | def pexpireat( method pexpireat (line 3751) | def pexpireat( method pexpiretime (line 3787) | def pexpiretime(self: SyncClientProtocol, key: str) -> int: ... method pexpiretime (line 3790) | def pexpiretime(self: AsyncClientProtocol, key: str) -> Awaitable[int]... method pexpiretime (line 3792) | def pexpiretime(self, key: str) -> int | Awaitable[int]: method psetex (line 3802) | def psetex( method psetex (line 3807) | def psetex( method psetex (line 3811) | def psetex( method pttl (line 3826) | def pttl(self: SyncClientProtocol, name: KeyT) -> int: ... method pttl (line 3829) | def pttl(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method pttl (line 3831) | def pttl(self, name: KeyT) -> int | Awaitable[int]: method hrandfield (line 3840) | def hrandfield( method hrandfield (line 3848) | def hrandfield( method hrandfield (line 3855) | def hrandfield( method randomkey (line 3882) | def randomkey(self: SyncClientProtocol, **kwargs) -> bytes | str | Non... method randomkey (line 3885) | def randomkey( method randomkey (line 3889) | def randomkey(self, **kwargs) -> (bytes | str | None) | Awaitable[ method rename (line 3900) | def rename(self: SyncClientProtocol, src: KeyT, dst: KeyT) -> bool: ... method rename (line 3903) | def rename(self: AsyncClientProtocol, src: KeyT, dst: KeyT) -> Awaitab... method rename (line 3905) | def rename(self, src: KeyT, dst: KeyT) -> bool | Awaitable[bool]: method renamenx (line 3914) | def renamenx(self: SyncClientProtocol, src: KeyT, dst: KeyT) -> bool: ... method renamenx (line 3917) | def renamenx( method renamenx (line 3921) | def renamenx(self, src: KeyT, dst: KeyT) -> bool | Awaitable[bool]: method restore (line 3930) | def restore( method restore (line 3942) | def restore( method restore (line 3953) | def restore( method set (line 4004) | def set( method set (line 4023) | def set( method set (line 4042) | def set( method __setitem__ (line 4154) | def __setitem__(self, name: KeyT, value: EncodableT): method setbit (line 4158) | def setbit( method setbit (line 4163) | def setbit( method setbit (line 4167) | def setbit(self, name: KeyT, offset: int, value: int) -> int | Awaitab... method setex (line 4178) | def setex( method setex (line 4183) | def setex( method setex (line 4187) | def setex( method setnx (line 4202) | def setnx(self: SyncClientProtocol, name: KeyT, value: EncodableT) -> ... method setnx (line 4205) | def setnx( method setnx (line 4209) | def setnx(self, name: KeyT, value: EncodableT) -> bool | Awaitable[bool]: method setrange (line 4218) | def setrange( method setrange (line 4223) | def setrange( method setrange (line 4227) | def setrange( method stralgo (line 4245) | def stralgo( method stralgo (line 4259) | def stralgo( method stralgo (line 4272) | def stralgo( method strlen (line 4337) | def strlen(self: SyncClientProtocol, name: KeyT) -> int: ... method strlen (line 4340) | def strlen(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method strlen (line 4342) | def strlen(self, name: KeyT) -> int | Awaitable[int]: method substr (line 4351) | def substr( method substr (line 4356) | def substr( method substr (line 4360) | def substr(self, name: KeyT, start: int, end: int = -1) -> ( method touch (line 4370) | def touch(self: SyncClientProtocol, *args: KeyT) -> int: ... method touch (line 4373) | def touch(self: AsyncClientProtocol, *args: KeyT) -> Awaitable[int]: ... method touch (line 4375) | def touch(self, *args: KeyT) -> int | Awaitable[int]: method ttl (line 4385) | def ttl(self: SyncClientProtocol, name: KeyT) -> int: ... method ttl (line 4388) | def ttl(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method ttl (line 4390) | def ttl(self, name: KeyT) -> int | Awaitable[int]: method type (line 4399) | def type(self: SyncClientProtocol, name: KeyT) -> bytes | str: ... method type (line 4402) | def type(self: AsyncClientProtocol, name: KeyT) -> Awaitable[bytes | s... method type (line 4404) | def type(self, name: KeyT) -> (bytes | str) | Awaitable[bytes | str]: method watch (line 4412) | def watch(self, *names: KeyT) -> None: method unwatch (line 4420) | def unwatch(self) -> None: method unlink (line 4429) | def unlink(self: SyncClientProtocol, *names: KeyT) -> int: ... method unlink (line 4432) | def unlink(self: AsyncClientProtocol, *names: KeyT) -> Awaitable[int]:... method unlink (line 4434) | def unlink(self, *names: KeyT) -> int | Awaitable[int]: method lcs (line 4443) | def lcs( method lcs (line 4454) | def lcs( method lcs (line 4464) | def lcs( class AsyncBasicKeyCommands (line 4496) | class AsyncBasicKeyCommands(BasicKeyCommands): method __delitem__ (line 4497) | def __delitem__(self, name: KeyT): method __contains__ (line 4500) | def __contains__(self, name: KeyT): method __getitem__ (line 4503) | def __getitem__(self, name: KeyT): method __setitem__ (line 4506) | def __setitem__(self, name: KeyT, value: EncodableT): method watch (line 4509) | async def watch(self, *names: KeyT) -> None: method unwatch (line 4512) | async def unwatch(self) -> None: class ListCommands (line 4516) | class ListCommands(CommandsProtocol): method blpop (line 4523) | def blpop( method blpop (line 4528) | def blpop( method blpop (line 4532) | def blpop( method brpop (line 4554) | def brpop( method brpop (line 4559) | def brpop( method brpop (line 4563) | def brpop( method brpoplpush (line 4585) | def brpoplpush( method brpoplpush (line 4590) | def brpoplpush( method brpoplpush (line 4594) | def brpoplpush(self, src: KeyT, dst: KeyT, timeout: Number | None = 0)... method blmpop (line 4612) | def blmpop( method blmpop (line 4622) | def blmpop( method blmpop (line 4631) | def blmpop( method lmpop (line 4653) | def lmpop( method lmpop (line 4662) | def lmpop( method lmpop (line 4670) | def lmpop( method lindex (line 4690) | def lindex( method lindex (line 4695) | def lindex( method lindex (line 4699) | def lindex(self, name: KeyT, index: int) -> (bytes | str | None) | Awa... method linsert (line 4713) | def linsert( method linsert (line 4718) | def linsert( method linsert (line 4722) | def linsert( method llen (line 4737) | def llen(self: SyncClientProtocol, name: KeyT) -> int: ... method llen (line 4740) | def llen(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method llen (line 4742) | def llen(self, name: KeyT) -> int | Awaitable[int]: method lpop (line 4751) | def lpop( method lpop (line 4758) | def lpop( method lpop (line 4764) | def lpop( method lpush (line 4786) | def lpush(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> in... method lpush (line 4789) | def lpush( method lpush (line 4793) | def lpush(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method lpushx (line 4802) | def lpushx(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> i... method lpushx (line 4805) | def lpushx( method lpushx (line 4809) | def lpushx(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method lrange (line 4818) | def lrange( method lrange (line 4823) | def lrange( method lrange (line 4827) | def lrange( method lrem (line 4842) | def lrem(self: SyncClientProtocol, name: KeyT, count: int, value: str)... method lrem (line 4845) | def lrem( method lrem (line 4849) | def lrem(self, name: KeyT, count: int, value: str) -> int | Awaitable[... method lset (line 4864) | def lset(self: SyncClientProtocol, name: KeyT, index: int, value: str)... method lset (line 4867) | def lset( method lset (line 4871) | def lset(self, name: KeyT, index: int, value: str) -> bool | Awaitable... method ltrim (line 4880) | def ltrim(self: SyncClientProtocol, name: KeyT, start: int, end: int) ... method ltrim (line 4883) | def ltrim( method ltrim (line 4887) | def ltrim(self, name: KeyT, start: int, end: int) -> bool | Awaitable[... method rpop (line 4900) | def rpop( method rpop (line 4907) | def rpop( method rpop (line 4913) | def rpop( method rpoplpush (line 4935) | def rpoplpush( method rpoplpush (line 4940) | def rpoplpush( method rpoplpush (line 4944) | def rpoplpush(self, src: KeyT, dst: KeyT) -> (bytes | str | None) | Aw... method rpush (line 4956) | def rpush(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> in... method rpush (line 4959) | def rpush( method rpush (line 4963) | def rpush(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method rpushx (line 4972) | def rpushx(self: SyncClientProtocol, name: KeyT, *values: str) -> int:... method rpushx (line 4975) | def rpushx( method rpushx (line 4979) | def rpushx(self, name: KeyT, *values: str) -> int | Awaitable[int]: method lpos (line 4988) | def lpos( method lpos (line 4998) | def lpos( method lpos (line 5007) | def lpos( method sort (line 5053) | def sort( method sort (line 5067) | def sort( method sort (line 5080) | def sort( method sort_ro (line 5154) | def sort_ro( method sort_ro (line 5166) | def sort_ro( method sort_ro (line 5177) | def sort_ro( class ScanCommands (line 5214) | class ScanCommands(CommandsProtocol): method scan (line 5221) | def scan( method scan (line 5231) | def scan( method scan (line 5240) | def scan( method scan_iter (line 5273) | def scan_iter( method sscan (line 5302) | def sscan( method sscan (line 5311) | def sscan( method sscan (line 5319) | def sscan( method sscan_iter (line 5343) | def sscan_iter( method hscan (line 5363) | def hscan( method hscan (line 5373) | def hscan( method hscan (line 5382) | def hscan( method hscan_iter (line 5411) | def hscan_iter( method zscan (line 5439) | def zscan( method zscan (line 5449) | def zscan( method zscan (line 5458) | def zscan( method zscan_iter (line 5486) | def zscan_iter( class AsyncScanCommands (line 5515) | class AsyncScanCommands(ScanCommands): method scan_iter (line 5516) | async def scan_iter( method sscan_iter (line 5545) | async def sscan_iter( method hscan_iter (line 5567) | async def hscan_iter( method zscan_iter (line 5596) | async def zscan_iter( class SetCommands (line 5626) | class SetCommands(CommandsProtocol): method sadd (line 5633) | def sadd(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> int... method sadd (line 5636) | def sadd( method sadd (line 5640) | def sadd(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method scard (line 5649) | def scard(self: SyncClientProtocol, name: KeyT) -> int: ... method scard (line 5652) | def scard(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method scard (line 5654) | def scard(self, name: KeyT) -> int | Awaitable[int]: method sdiff (line 5663) | def sdiff( method sdiff (line 5668) | def sdiff( method sdiff (line 5672) | def sdiff( method sdiffstore (line 5684) | def sdiffstore( method sdiffstore (line 5689) | def sdiffstore( method sdiffstore (line 5693) | def sdiffstore(self, dest: str, keys: List, *args: List) -> int | Awai... method sinter (line 5704) | def sinter( method sinter (line 5709) | def sinter( method sinter (line 5713) | def sinter( method sintercard (line 5725) | def sintercard( method sintercard (line 5730) | def sintercard( method sintercard (line 5734) | def sintercard( method sinterstore (line 5750) | def sinterstore( method sinterstore (line 5755) | def sinterstore( method sinterstore (line 5759) | def sinterstore(self, dest: KeyT, keys: List, *args: List) -> int | Aw... method sismember (line 5770) | def sismember( method sismember (line 5775) | def sismember( method sismember (line 5779) | def sismember(self, name: KeyT, value: str) -> ( method smembers (line 5792) | def smembers(self: SyncClientProtocol, name: KeyT) -> set[bytes | str]... method smembers (line 5795) | def smembers( method smembers (line 5799) | def smembers(self, name: KeyT) -> set[bytes | str] | Awaitable[set[byt... method smismember (line 5808) | def smismember( method smismember (line 5813) | def smismember( method smismember (line 5817) | def smismember( method smove (line 5832) | def smove(self: SyncClientProtocol, src: KeyT, dst: KeyT, value: str) ... method smove (line 5835) | def smove( method smove (line 5839) | def smove(self, src: KeyT, dst: KeyT, value: str) -> bool | Awaitable[... method spop (line 5848) | def spop( method spop (line 5853) | def spop( method spop (line 5857) | def spop(self, name: KeyT, count: int | None = None) -> ( method srandmember (line 5869) | def srandmember( method srandmember (line 5874) | def srandmember( method srandmember (line 5878) | def srandmember(self, name: KeyT, number: int | None = None) -> ( method srem (line 5894) | def srem(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> int... method srem (line 5897) | def srem( method srem (line 5901) | def srem(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method sunion (line 5910) | def sunion( method sunion (line 5915) | def sunion( method sunion (line 5919) | def sunion( method sunionstore (line 5931) | def sunionstore( method sunionstore (line 5936) | def sunionstore( method sunionstore (line 5940) | def sunionstore(self, dest: KeyT, keys: List, *args: List) -> int | Aw... class StreamCommands (line 5954) | class StreamCommands(CommandsProtocol): method xack (line 5961) | def xack( method xack (line 5966) | def xack( method xack (line 5970) | def xack( method xackdel (line 5986) | def xackdel( method xackdel (line 5995) | def xackdel( method xackdel (line 6003) | def xackdel( method xadd (line 6026) | def xadd( method xadd (line 6042) | def xadd( method xadd (line 6057) | def xadd( method xcfgset (line 6148) | def xcfgset( method xcfgset (line 6156) | def xcfgset( method xcfgset (line 6163) | def xcfgset( method xautoclaim (line 6228) | def xautoclaim( method xautoclaim (line 6240) | def xautoclaim( method xautoclaim (line 6251) | def xautoclaim( method xclaim (line 6303) | def xclaim( method xclaim (line 6318) | def xclaim( method xclaim (line 6332) | def xclaim( method xdel (line 6416) | def xdel(self: SyncClientProtocol, name: KeyT, *ids: StreamIdT) -> int... method xdel (line 6419) | def xdel( method xdel (line 6423) | def xdel(self, name: KeyT, *ids: StreamIdT) -> int | Awaitable[int]: method xdelex (line 6436) | def xdelex( method xdelex (line 6444) | def xdelex( method xdelex (line 6451) | def xdelex( method xgroup_create (line 6472) | def xgroup_create( method xgroup_create (line 6482) | def xgroup_create( method xgroup_create (line 6491) | def xgroup_create( method xgroup_delconsumer (line 6516) | def xgroup_delconsumer( method xgroup_delconsumer (line 6521) | def xgroup_delconsumer( method xgroup_delconsumer (line 6528) | def xgroup_delconsumer( method xgroup_destroy (line 6544) | def xgroup_destroy( method xgroup_destroy (line 6549) | def xgroup_destroy( method xgroup_destroy (line 6553) | def xgroup_destroy(self, name: KeyT, groupname: GroupT) -> bool | Awai... method xgroup_createconsumer (line 6564) | def xgroup_createconsumer( method xgroup_createconsumer (line 6569) | def xgroup_createconsumer( method xgroup_createconsumer (line 6576) | def xgroup_createconsumer( method xgroup_setid (line 6594) | def xgroup_setid( method xgroup_setid (line 6603) | def xgroup_setid( method xgroup_setid (line 6611) | def xgroup_setid( method xinfo_consumers (line 6632) | def xinfo_consumers( method xinfo_consumers (line 6637) | def xinfo_consumers( method xinfo_consumers (line 6641) | def xinfo_consumers( method xinfo_groups (line 6654) | def xinfo_groups(self: SyncClientProtocol, name: KeyT) -> list[dict[st... method xinfo_groups (line 6657) | def xinfo_groups( method xinfo_groups (line 6661) | def xinfo_groups( method xinfo_stream (line 6673) | def xinfo_stream( method xinfo_stream (line 6678) | def xinfo_stream( method xinfo_stream (line 6682) | def xinfo_stream( method xlen (line 6700) | def xlen(self: SyncClientProtocol, name: KeyT) -> int: ... method xlen (line 6703) | def xlen(self: AsyncClientProtocol, name: KeyT) -> Awaitable[int]: ... method xlen (line 6705) | def xlen(self, name: KeyT) -> int | Awaitable[int]: method xpending (line 6714) | def xpending( method xpending (line 6719) | def xpending( method xpending (line 6723) | def xpending( method xpending_range (line 6736) | def xpending_range( method xpending_range (line 6748) | def xpending_range( method xpending_range (line 6759) | def xpending_range( method xrange (line 6817) | def xrange( method xrange (line 6826) | def xrange( method xrange (line 6834) | def xrange( method xread (line 6867) | def xread( method xread (line 6875) | def xread( method xread (line 6882) | def xread( method xreadgroup (line 6935) | def xreadgroup( method xreadgroup (line 6947) | def xreadgroup( method xreadgroup (line 6958) | def xreadgroup( method xrevrange (line 7039) | def xrevrange( method xrevrange (line 7048) | def xrevrange( method xrevrange (line 7056) | def xrevrange( method xtrim (line 7089) | def xtrim( method xtrim (line 7100) | def xtrim( method xtrim (line 7110) | def xtrim( class SortedSetCommands (line 7167) | class SortedSetCommands(CommandsProtocol): method zadd (line 7173) | def zadd( method zcard (line 7250) | def zcard(self, name: KeyT) -> ResponseT: method zcount (line 7259) | def zcount( method zcount (line 7264) | def zcount( method zcount (line 7268) | def zcount( method zdiff (line 7280) | def zdiff( method zdiff (line 7285) | def zdiff( method zdiff (line 7289) | def zdiff( method zdiffstore (line 7304) | def zdiffstore(self: SyncClientProtocol, dest: KeyT, keys: KeysT) -> i... method zdiffstore (line 7307) | def zdiffstore( method zdiffstore (line 7311) | def zdiffstore(self, dest: KeyT, keys: KeysT) -> int | Awaitable[int]: method zincrby (line 7322) | def zincrby( method zincrby (line 7327) | def zincrby( method zincrby (line 7331) | def zincrby(self, name: KeyT, amount: float, value: EncodableT) -> ( method zinter (line 7342) | def zinter( method zinter (line 7350) | def zinter( method zinter (line 7357) | def zinter( method zinterstore (line 7374) | def zinterstore( method zinterstore (line 7382) | def zinterstore( method zinterstore (line 7389) | def zinterstore( method zintercard (line 7409) | def zintercard( method zintercard (line 7414) | def zintercard( method zintercard (line 7418) | def zintercard( method zlexcount (line 7434) | def zlexcount( method zlexcount (line 7439) | def zlexcount( method zlexcount (line 7443) | def zlexcount( method zpopmax (line 7455) | def zpopmax( method zpopmax (line 7460) | def zpopmax( method zpopmax (line 7464) | def zpopmax( method zpopmin (line 7478) | def zpopmin( method zpopmin (line 7483) | def zpopmin( method zpopmin (line 7487) | def zpopmin( method zrandmember (line 7501) | def zrandmember( method zrandmember (line 7509) | def zrandmember( method zrandmember (line 7516) | def zrandmember( method bzpopmax (line 7543) | def bzpopmax( method bzpopmax (line 7548) | def bzpopmax( method bzpopmax (line 7552) | def bzpopmax( method bzpopmin (line 7574) | def bzpopmin( method bzpopmin (line 7579) | def bzpopmin( method bzpopmin (line 7583) | def bzpopmin( method zmpop (line 7605) | def zmpop( method zmpop (line 7615) | def zmpop( method zmpop (line 7624) | def zmpop( method bzmpop (line 7650) | def bzmpop( method bzmpop (line 7661) | def bzmpop( method bzmpop (line 7671) | def bzmpop( method _zrange (line 7703) | def _zrange( method zrange (line 7745) | def zrange( method zrange (line 7760) | def zrange( method zrange (line 7774) | def zrange( method zrevrange (line 7836) | def zrevrange( method zrevrange (line 7846) | def zrevrange( method zrevrange (line 7855) | def zrevrange( method zrangestore (line 7884) | def zrangestore( method zrangestore (line 7898) | def zrangestore( method zrangestore (line 7911) | def zrangestore( method zrangebylex (line 7962) | def zrangebylex( method zrangebylex (line 7972) | def zrangebylex( method zrangebylex (line 7981) | def zrangebylex( method zrevrangebylex (line 8006) | def zrevrangebylex( method zrevrangebylex (line 8016) | def zrevrangebylex( method zrevrangebylex (line 8025) | def zrevrangebylex( method zrangebyscore (line 8050) | def zrangebyscore( method zrangebyscore (line 8062) | def zrangebyscore( method zrangebyscore (line 8073) | def zrangebyscore( method zrevrangebyscore (line 8109) | def zrevrangebyscore( method zrevrangebyscore (line 8121) | def zrevrangebyscore( method zrevrangebyscore (line 8132) | def zrevrangebyscore( method zrank (line 8168) | def zrank( method zrank (line 8177) | def zrank( method zrank (line 8185) | def zrank( method zrem (line 8211) | def zrem(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> int... method zrem (line 8214) | def zrem( method zrem (line 8218) | def zrem(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method zremrangebylex (line 8227) | def zremrangebylex( method zremrangebylex (line 8232) | def zremrangebylex( method zremrangebylex (line 8236) | def zremrangebylex( method zremrangebyrank (line 8250) | def zremrangebyrank( method zremrangebyrank (line 8255) | def zremrangebyrank( method zremrangebyrank (line 8259) | def zremrangebyrank(self, name: KeyT, min: int, max: int) -> int | Awa... method zremrangebyscore (line 8271) | def zremrangebyscore( method zremrangebyscore (line 8276) | def zremrangebyscore( method zremrangebyscore (line 8280) | def zremrangebyscore( method zrevrank (line 8292) | def zrevrank( method zrevrank (line 8301) | def zrevrank( method zrevrank (line 8309) | def zrevrank( method zscore (line 8335) | def zscore( method zscore (line 8340) | def zscore( method zscore (line 8344) | def zscore(self, name: KeyT, value: EncodableT) -> (float | None) | Aw... method zunion (line 8355) | def zunion( method zunion (line 8364) | def zunion( method zunion (line 8372) | def zunion( method zunionstore (line 8399) | def zunionstore( method zunionstore (line 8407) | def zunionstore( method zunionstore (line 8414) | def zunionstore( method zmscore (line 8430) | def zmscore( method zmscore (line 8435) | def zmscore( method zmscore (line 8439) | def zmscore( method _zaggregate (line 8457) | def _zaggregate( class HyperlogCommands (line 8492) | class HyperlogCommands(CommandsProtocol): method pfadd (line 8499) | def pfadd(self: SyncClientProtocol, name: KeyT, *values: FieldT) -> in... method pfadd (line 8502) | def pfadd( method pfadd (line 8506) | def pfadd(self, name: KeyT, *values: FieldT) -> int | Awaitable[int]: method pfcount (line 8515) | def pfcount(self: SyncClientProtocol, *sources: KeyT) -> int: ... method pfcount (line 8518) | def pfcount(self: AsyncClientProtocol, *sources: KeyT) -> Awaitable[in... method pfcount (line 8520) | def pfcount(self, *sources: KeyT) -> int | Awaitable[int]: method pfmerge (line 8530) | def pfmerge(self: SyncClientProtocol, dest: KeyT, *sources: KeyT) -> b... method pfmerge (line 8533) | def pfmerge( method pfmerge (line 8537) | def pfmerge(self, dest: KeyT, *sources: KeyT) -> bool | Awaitable[bool]: class HashDataPersistOptions (line 8549) | class HashDataPersistOptions(Enum): class HashCommands (line 8559) | class HashCommands(CommandsProtocol): method hdel (line 8566) | def hdel(self: SyncClientProtocol, name: str, *keys: str) -> int: ... method hdel (line 8569) | def hdel(self: AsyncClientProtocol, name: str, *keys: str) -> Awaitabl... method hdel (line 8571) | def hdel(self, name: str, *keys: str) -> int | Awaitable[int]: method hexists (line 8580) | def hexists(self: SyncClientProtocol, name: str, key: str) -> bool: ... method hexists (line 8583) | def hexists(self: AsyncClientProtocol, name: str, key: str) -> Awaitab... method hexists (line 8585) | def hexists(self, name: str, key: str) -> bool | Awaitable[bool]: method hget (line 8594) | def hget(self: SyncClientProtocol, name: str, key: str) -> bytes | str... method hget (line 8597) | def hget( method hget (line 8601) | def hget(self, name: str, key: str) -> (bytes | str | None) | Awaitable[ method hgetall (line 8612) | def hgetall( method hgetall (line 8617) | def hgetall( method hgetall (line 8621) | def hgetall( method hgetdel (line 8632) | def hgetdel( method hgetdel (line 8637) | def hgetdel( method hgetdel (line 8641) | def hgetdel( method hgetex (line 8659) | def hgetex( method hgetex (line 8671) | def hgetex( method hgetex (line 8682) | def hgetex( method hincrby (line 8735) | def hincrby( method hincrby (line 8740) | def hincrby( method hincrby (line 8744) | def hincrby(self, name: str, key: str, amount: int = 1) -> int | Await... method hincrbyfloat (line 8753) | def hincrbyfloat( method hincrbyfloat (line 8758) | def hincrbyfloat( method hincrbyfloat (line 8762) | def hincrbyfloat( method hkeys (line 8773) | def hkeys(self: SyncClientProtocol, name: str) -> list[bytes | str]: ... method hkeys (line 8776) | def hkeys(self: AsyncClientProtocol, name: str) -> Awaitable[list[byte... method hkeys (line 8778) | def hkeys(self, name: str) -> list[bytes | str] | Awaitable[list[bytes... method hlen (line 8787) | def hlen(self: SyncClientProtocol, name: str) -> int: ... method hlen (line 8790) | def hlen(self: AsyncClientProtocol, name: str) -> Awaitable[int]: ... method hlen (line 8792) | def hlen(self, name: str) -> int | Awaitable[int]: method hset (line 8801) | def hset( method hset (line 8811) | def hset( method hset (line 8820) | def hset( method hsetex (line 8854) | def hsetex( method hsetex (line 8870) | def hsetex( method hsetex (line 8885) | def hsetex( method hsetnx (line 8968) | def hsetnx(self: SyncClientProtocol, name: str, key: str, value: str) ... method hsetnx (line 8971) | def hsetnx( method hsetnx (line 8975) | def hsetnx(self, name: str, key: str, value: str) -> int | Awaitable[i... method hmset (line 8985) | def hmset(self: SyncClientProtocol, name: str, mapping: dict) -> bool:... method hmset (line 8988) | def hmset( method hmset (line 8997) | def hmset(self, name: str, mapping: dict) -> bool | Awaitable[bool]: method hmget (line 9012) | def hmget( method hmget (line 9017) | def hmget( method hmget (line 9021) | def hmget( method hvals (line 9033) | def hvals(self: SyncClientProtocol, name: str) -> list[bytes | str]: ... method hvals (line 9036) | def hvals(self: AsyncClientProtocol, name: str) -> Awaitable[list[byte... method hvals (line 9038) | def hvals(self, name: str) -> list[bytes | str] | Awaitable[list[bytes... method hstrlen (line 9047) | def hstrlen(self: SyncClientProtocol, name: str, key: str) -> int: ... method hstrlen (line 9050) | def hstrlen(self: AsyncClientProtocol, name: str, key: str) -> Awaitab... method hstrlen (line 9052) | def hstrlen(self, name: str, key: str) -> int | Awaitable[int]: method hexpire (line 9062) | def hexpire( method hexpire (line 9074) | def hexpire( method hexpire (line 9085) | def hexpire( method hpexpire (line 9146) | def hpexpire( method hpexpire (line 9158) | def hpexpire( method hpexpire (line 9169) | def hpexpire( method hexpireat (line 9230) | def hexpireat( method hexpireat (line 9242) | def hexpireat( method hexpireat (line 9253) | def hexpireat( method hpexpireat (line 9320) | def hpexpireat( method hpexpireat (line 9332) | def hpexpireat( method hpexpireat (line 9343) | def hpexpireat( method hpersist (line 9410) | def hpersist(self: SyncClientProtocol, name: KeyT, *fields: str) -> li... method hpersist (line 9413) | def hpersist( method hpersist (line 9417) | def hpersist(self, name: KeyT, *fields: str) -> list[int] | Awaitable[... method hexpiretime (line 9437) | def hexpiretime(self: SyncClientProtocol, key: KeyT, *fields: str) -> ... method hexpiretime (line 9440) | def hexpiretime( method hexpiretime (line 9444) | def hexpiretime(self, key: KeyT, *fields: str) -> list[int] | Awaitabl... method hpexpiretime (line 9467) | def hpexpiretime( method hpexpiretime (line 9472) | def hpexpiretime( method hpexpiretime (line 9476) | def hpexpiretime(self, key: KeyT, *fields: str) -> list[int] | Awaitab... method httl (line 9499) | def httl(self: SyncClientProtocol, key: KeyT, *fields: str) -> list[in... method httl (line 9502) | def httl( method httl (line 9506) | def httl(self, key: KeyT, *fields: str) -> list[int] | Awaitable[list[... method hpttl (line 9529) | def hpttl(self: SyncClientProtocol, key: KeyT, *fields: str) -> list[i... method hpttl (line 9532) | def hpttl( method hpttl (line 9536) | def hpttl(self, key: KeyT, *fields: str) -> list[int] | Awaitable[list... class Script (line 9562) | class Script: method __init__ (line 9567) | def __init__(self, registered_client: "redis.client.Redis", script: Sc... method __call__ (line 9579) | def __call__( method get_encoder (line 9606) | def get_encoder(self): class AsyncScript (line 9625) | class AsyncScript: method __init__ (line 9630) | def __init__( method __call__ (line 9650) | async def __call__( class PubSubCommands (line 9678) | class PubSubCommands(CommandsProtocol): method publish (line 9685) | def publish( method publish (line 9690) | def publish( method publish (line 9694) | def publish( method spublish (line 9711) | def spublish( method spublish (line 9716) | def spublish( method spublish (line 9720) | def spublish( method pubsub_channels (line 9738) | def pubsub_channels( method pubsub_channels (line 9743) | def pubsub_channels( method pubsub_channels (line 9747) | def pubsub_channels( method pubsub_shardchannels (line 9758) | def pubsub_shardchannels( method pubsub_shardchannels (line 9763) | def pubsub_shardchannels( method pubsub_shardchannels (line 9767) | def pubsub_shardchannels( method pubsub_numpat (line 9778) | def pubsub_numpat(self: SyncClientProtocol, **kwargs) -> int: ... method pubsub_numpat (line 9781) | def pubsub_numpat(self: AsyncClientProtocol, **kwargs) -> Awaitable[in... method pubsub_numpat (line 9783) | def pubsub_numpat(self, **kwargs) -> int | Awaitable[int]: method pubsub_numsub (line 9792) | def pubsub_numsub( method pubsub_numsub (line 9797) | def pubsub_numsub( method pubsub_numsub (line 9801) | def pubsub_numsub( method pubsub_shardnumsub (line 9813) | def pubsub_shardnumsub( method pubsub_shardnumsub (line 9818) | def pubsub_shardnumsub( method pubsub_shardnumsub (line 9822) | def pubsub_shardnumsub( class ScriptCommands (line 9837) | class ScriptCommands(CommandsProtocol): method _eval (line 9843) | def _eval( method eval (line 9853) | def eval( method eval (line 9861) | def eval( method eval (line 9868) | def eval( method eval_ro (line 9884) | def eval_ro( method eval_ro (line 9892) | def eval_ro( method eval_ro (line 9899) | def eval_ro( method _evalsha (line 9913) | def _evalsha( method evalsha (line 9923) | def evalsha( method evalsha (line 9931) | def evalsha( method evalsha (line 9938) | def evalsha( method evalsha_ro (line 9955) | def evalsha_ro( method evalsha_ro (line 9963) | def evalsha_ro( method evalsha_ro (line 9970) | def evalsha_ro( method script_exists (line 9986) | def script_exists(self: SyncClientProtocol, *args: str) -> list[bool]:... method script_exists (line 9989) | def script_exists( method script_exists (line 9993) | def script_exists(self, *args: str) -> list[bool] | Awaitable[list[boo... method script_debug (line 10003) | def script_debug(self, *args) -> None: method script_flush (line 10009) | def script_flush( method script_flush (line 10015) | def script_flush( method script_flush (line 10020) | def script_flush( method script_kill (line 10045) | def script_kill(self: SyncClientProtocol) -> bool: ... method script_kill (line 10048) | def script_kill(self: AsyncClientProtocol) -> Awaitable[bool]: ... method script_kill (line 10050) | def script_kill(self) -> bool | Awaitable[bool]: method script_load (line 10059) | def script_load(self: SyncClientProtocol, script: ScriptTextT) -> str:... method script_load (line 10062) | def script_load( method script_load (line 10066) | def script_load(self, script: ScriptTextT) -> str | Awaitable[str]: method register_script (line 10074) | def register_script(self: "redis.client.Redis", script: ScriptTextT) -... class AsyncScriptCommands (line 10084) | class AsyncScriptCommands(ScriptCommands): method script_debug (line 10085) | async def script_debug(self, *args) -> None: method register_script (line 10088) | def register_script( class GeoCommands (line 10101) | class GeoCommands(CommandsProtocol): method geoadd (line 10108) | def geoadd( method geoadd (line 10118) | def geoadd( method geoadd (line 10127) | def geoadd( method geodist (line 10170) | def geodist( method geodist (line 10179) | def geodist( method geodist (line 10187) | def geodist( method geohash (line 10206) | def geohash( method geohash (line 10211) | def geohash( method geohash (line 10215) | def geohash( method geopos (line 10227) | def geopos( method geopos (line 10232) | def geopos( method geopos (line 10236) | def geopos( method georadius (line 10249) | def georadius( method georadius (line 10267) | def georadius( method georadius (line 10284) | def georadius( method georadiusbymember (line 10348) | def georadiusbymember( method georadiusbymember (line 10365) | def georadiusbymember( method georadiusbymember (line 10381) | def georadiusbymember( method _georadiusgeneric (line 10420) | def _georadiusgeneric( method geosearch (line 10467) | def geosearch( method geosearch (line 10486) | def geosearch( method geosearch (line 10504) | def geosearch( method geosearchstore (line 10586) | def geosearchstore( method geosearchstore (line 10604) | def geosearchstore( method geosearchstore (line 10621) | def geosearchstore( method _geosearchgeneric (line 10668) | def _geosearchgeneric( class ModuleCommands (line 10738) | class ModuleCommands(CommandsProtocol): method module_load (line 10745) | def module_load(self: SyncClientProtocol, path, *args) -> bool: ... method module_load (line 10748) | def module_load(self: AsyncClientProtocol, path, *args) -> Awaitable[b... method module_load (line 10750) | def module_load(self, path, *args) -> bool | Awaitable[bool]: method module_loadex (line 10761) | def module_loadex( method module_loadex (line 10769) | def module_loadex( method module_loadex (line 10776) | def module_loadex( method module_unload (line 10798) | def module_unload(self: SyncClientProtocol, name) -> bool: ... method module_unload (line 10801) | def module_unload(self: AsyncClientProtocol, name) -> Awaitable[bool]:... method module_unload (line 10803) | def module_unload(self, name) -> bool | Awaitable[bool]: method module_list (line 10813) | def module_list(self: SyncClientProtocol) -> list[dict[Any, Any]]: ... method module_list (line 10816) | def module_list(self: AsyncClientProtocol) -> Awaitable[list[dict[Any,... method module_list (line 10818) | def module_list(self) -> list[dict[Any, Any]] | Awaitable[list[dict[An... method command_info (line 10827) | def command_info(self) -> None: method command_count (line 10833) | def command_count(self: SyncClientProtocol) -> int: ... method command_count (line 10836) | def command_count(self: AsyncClientProtocol) -> Awaitable[int]: ... method command_count (line 10838) | def command_count(self) -> int | Awaitable[int]: method command_getkeys (line 10842) | def command_getkeys(self: SyncClientProtocol, *args) -> list[bytes | s... method command_getkeys (line 10845) | def command_getkeys( method command_getkeys (line 10849) | def command_getkeys( method command (line 10855) | def command(self: SyncClientProtocol) -> dict[str, dict[str, Any]]: ... method command (line 10858) | def command( method command (line 10862) | def command( class AsyncModuleCommands (line 10868) | class AsyncModuleCommands(ModuleCommands): method command_info (line 10869) | async def command_info(self) -> None: class ClusterCommands (line 10873) | class ClusterCommands(CommandsProtocol): method cluster (line 10879) | def cluster(self: SyncClientProtocol, cluster_arg, *args, **kwargs) ->... method cluster (line 10882) | def cluster( method cluster (line 10886) | def cluster(self, cluster_arg, *args, **kwargs) -> Any | Awaitable[Any]: method readwrite (line 10890) | def readwrite(self: SyncClientProtocol, **kwargs) -> bool: ... method readwrite (line 10893) | def readwrite(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]:... method readwrite (line 10895) | def readwrite(self, **kwargs) -> bool | Awaitable[bool]: method readonly (line 10904) | def readonly(self: SyncClientProtocol, **kwargs) -> bool: ... method readonly (line 10907) | def readonly(self: AsyncClientProtocol, **kwargs) -> Awaitable[bool]: ... method readonly (line 10909) | def readonly(self, **kwargs) -> bool | Awaitable[bool]: class FunctionCommands (line 10921) | class FunctionCommands: method function_load (line 10927) | def function_load( method function_load (line 10932) | def function_load( method function_load (line 10936) | def function_load(self, code: str, replace: bool | None = False) -> ( method function_delete (line 10954) | def function_delete(self: SyncClientProtocol, library: str) -> bool: ... method function_delete (line 10957) | def function_delete(self: AsyncClientProtocol, library: str) -> Awaita... method function_delete (line 10959) | def function_delete(self, library: str) -> bool | Awaitable[bool]: method function_flush (line 10968) | def function_flush(self: SyncClientProtocol, mode: str = "SYNC") -> bo... method function_flush (line 10971) | def function_flush( method function_flush (line 10975) | def function_flush(self, mode: str = "SYNC") -> bool | Awaitable[bool]: method function_list (line 10984) | def function_list( method function_list (line 10991) | def function_list( method function_list (line 10997) | def function_list( method _fcall (line 11014) | def _fcall(self, command: str, function, numkeys: int, *keys_and_args:... method fcall (line 11018) | def fcall( method fcall (line 11023) | def fcall( method fcall (line 11027) | def fcall( method fcall_ro (line 11038) | def fcall_ro( method fcall_ro (line 11043) | def fcall_ro( method fcall_ro (line 11047) | def fcall_ro( method function_dump (line 11059) | def function_dump(self: SyncClientProtocol) -> bytes: ... method function_dump (line 11062) | def function_dump(self: AsyncClientProtocol) -> Awaitable[bytes]: ... method function_dump (line 11064) | def function_dump(self) -> bytes | Awaitable[bytes]: method function_restore (line 11078) | def function_restore( method function_restore (line 11083) | def function_restore( method function_restore (line 11087) | def function_restore( method function_kill (line 11100) | def function_kill(self: SyncClientProtocol) -> bytes | str: ... method function_kill (line 11103) | def function_kill(self: AsyncClientProtocol) -> Awaitable[bytes | str]... method function_kill (line 11105) | def function_kill(self) -> (bytes | str) | Awaitable[bytes | str]: method function_stats (line 11114) | def function_stats(self: SyncClientProtocol) -> Any: ... method function_stats (line 11117) | def function_stats(self: AsyncClientProtocol) -> Awaitable[Any]: ... method function_stats (line 11119) | def function_stats(self) -> Any | Awaitable[Any]: class DataAccessCommands (line 11132) | class DataAccessCommands( class AsyncDataAccessCommands (line 11149) | class AsyncDataAccessCommands( class CoreCommands (line 11166) | class CoreCommands( class AsyncCoreCommands (line 11182) | class AsyncCoreCommands( FILE: redis/commands/helpers.py function list_or_args (line 10) | def list_or_args(keys: KeysT, args: Tuple[KeyT, ...]) -> List[KeyT]: function nativestr (line 27) | def nativestr(x): function delist (line 35) | def delist(x): function parse_to_list (line 42) | def parse_to_list(response): function random_string (line 75) | def random_string(length=10): function decode_dict_keys (line 84) | def decode_dict_keys(obj): function get_protocol_version (line 94) | def get_protocol_version(client): function at_most_one_value_set (line 101) | def at_most_one_value_set(iterable: Iterable[Any]): FILE: redis/commands/json/__init__.py class JSON (line 10) | class JSON(JSONCommands): method __init__ (line 21) | def __init__( method _decode (line 82) | def _decode(self, obj): method _encode (line 100) | def _encode(self, obj): method pipeline (line 104) | def pipeline(self, transaction=True, shard_hint=None): class ClusterPipeline (line 142) | class ClusterPipeline(JSONCommands, redis.cluster.ClusterPipeline): class Pipeline (line 146) | class Pipeline(JSONCommands, redis.client.Pipeline): FILE: redis/commands/json/commands.py class JSONCommands (line 13) | class JSONCommands: method arrappend (line 16) | def arrappend( method arrindex (line 29) | def arrindex( method arrinsert (line 54) | def arrinsert( method arrlen (line 67) | def arrlen( method arrpop (line 77) | def arrpop( method arrtrim (line 90) | def arrtrim( method type (line 100) | def type(self, name: str, path: Optional[str] = Path.root_path()) -> L... method resp (line 107) | def resp(self, name: str, path: Optional[str] = Path.root_path()) -> L... method objkeys (line 114) | def objkeys( method objlen (line 124) | def objlen( method numincrby (line 134) | def numincrby(self, name: str, path: str, number: int) -> str: method nummultby (line 145) | def nummultby(self, name: str, path: str, number: int) -> str: method clear (line 155) | def clear(self, name: str, path: Optional[str] = Path.root_path()) -> ... method delete (line 166) | def delete(self, key: str, path: Optional[str] = Path.root_path()) -> ... method get (line 176) | def get( method mget (line 206) | def mget(self, keys: List[str], path: str) -> List[JsonType]: method set (line 218) | def set( method mset (line 257) | def mset(self, triplets: List[Tuple[str, str, JsonType]]) -> Optional[... method merge (line 274) | def merge( method set_file (line 297) | def set_file( method set_path (line 322) | def set_path( method strlen (line 360) | def strlen(self, name: str, path: Optional[str] = None) -> List[Option... method toggle (line 371) | def toggle( method strappend (line 381) | def strappend( method debug (line 393) | def debug( method jsonget (line 418) | def jsonget(self, *args, **kwargs): method jsonmget (line 424) | def jsonmget(self, *args, **kwargs): method jsonset (line 430) | def jsonset(self, *args, **kwargs): FILE: redis/commands/json/decoders.py function bulk_of_jsons (line 7) | def bulk_of_jsons(d): function decode_dict_keys (line 21) | def decode_dict_keys(obj): function unstring (line 31) | def unstring(obj): function decode_list (line 49) | def decode_list(b): FILE: redis/commands/json/path.py class Path (line 1) | class Path: method root_path (line 7) | def root_path(): method __init__ (line 11) | def __init__(self, path): method __repr__ (line 15) | def __repr__(self): FILE: redis/commands/policies.py class PolicyResolver (line 124) | class PolicyResolver(ABC): method resolve (line 126) | def resolve(self, command_name: str) -> Optional[CommandPolicies]: method with_fallback (line 139) | def with_fallback(self, fallback: "PolicyResolver") -> "PolicyResolver": class AsyncPolicyResolver (line 152) | class AsyncPolicyResolver(ABC): method resolve (line 154) | async def resolve(self, command_name: str) -> Optional[CommandPolicies]: method with_fallback (line 167) | def with_fallback(self, fallback: "AsyncPolicyResolver") -> "AsyncPoli... class BasePolicyResolver (line 180) | class BasePolicyResolver(PolicyResolver): method __init__ (line 185) | def __init__( method resolve (line 191) | def resolve(self, command_name: str) -> Optional[CommandPolicies]: method with_fallback (line 214) | def with_fallback(self, fallback: "PolicyResolver") -> "PolicyResolver": class AsyncBasePolicyResolver (line 218) | class AsyncBasePolicyResolver(AsyncPolicyResolver): method __init__ (line 223) | def __init__( method resolve (line 229) | async def resolve(self, command_name: str) -> Optional[CommandPolicies]: method with_fallback (line 252) | def with_fallback(self, fallback: "AsyncPolicyResolver") -> "AsyncPoli... class DynamicPolicyResolver (line 256) | class DynamicPolicyResolver(BasePolicyResolver): method __init__ (line 261) | def __init__( method with_fallback (line 273) | def with_fallback(self, fallback: "PolicyResolver") -> "PolicyResolver": class StaticPolicyResolver (line 277) | class StaticPolicyResolver(BasePolicyResolver): method __init__ (line 282) | def __init__(self, fallback: Optional[PolicyResolver] = None) -> None: method with_fallback (line 290) | def with_fallback(self, fallback: "PolicyResolver") -> "PolicyResolver": class AsyncDynamicPolicyResolver (line 294) | class AsyncDynamicPolicyResolver(AsyncBasePolicyResolver): method __init__ (line 299) | def __init__( method with_fallback (line 312) | def with_fallback(self, fallback: "AsyncPolicyResolver") -> "AsyncPoli... class AsyncStaticPolicyResolver (line 316) | class AsyncStaticPolicyResolver(AsyncBasePolicyResolver): method __init__ (line 321) | def __init__(self, fallback: Optional[AsyncPolicyResolver] = None) -> ... method with_fallback (line 329) | def with_fallback(self, fallback: "AsyncPolicyResolver") -> "AsyncPoli... FILE: redis/commands/redismodules.py class RedisModuleCommands (line 14) | class RedisModuleCommands: method json (line 19) | def json(self, encoder=JSONEncoder(), decoder=JSONDecoder()) -> JSON: method ft (line 27) | def ft(self, index_name="idx") -> Search: method ts (line 35) | def ts(self) -> TimeSeries: method bf (line 45) | def bf(self) -> BFBloom: method cf (line 53) | def cf(self) -> CFBloom: method cms (line 61) | def cms(self) -> CMSBloom: method topk (line 69) | def topk(self) -> TOPKBloom: method tdigest (line 77) | def tdigest(self) -> TDigestBloom: method vset (line 85) | def vset(self) -> VectorSet: class AsyncRedisModuleCommands (line 94) | class AsyncRedisModuleCommands(RedisModuleCommands): method ft (line 95) | def ft(self, index_name="idx") -> AsyncSearch: method vset (line 103) | def vset(self) -> AsyncVectorSet: FILE: redis/commands/search/__init__.py class Search (line 20) | class Search(SearchCommands): class BatchIndexer (line 26) | class BatchIndexer: method __init__ (line 32) | def __init__(self, client, chunk_size=1000): method __del__ (line 40) | def __del__(self): method add_document (line 44) | def add_document( method add_document_hash (line 74) | def add_document_hash(self, doc_id, score=1.0, replace=False): method commit (line 86) | def commit(self): method __init__ (line 93) | def __init__(self, client, index_name="idx"): method pipeline (line 116) | def pipeline(self, transaction=True, shard_hint=None): class AsyncSearch (line 130) | class AsyncSearch(Search, AsyncSearchCommands): class BatchIndexer (line 131) | class BatchIndexer(Search.BatchIndexer): method add_document (line 137) | async def add_document( method commit (line 167) | async def commit(self): method pipeline (line 174) | def pipeline(self, transaction=True, shard_hint=None): class Pipeline (line 188) | class Pipeline(SearchCommands, RedisPipeline): class AsyncPipeline (line 194) | class AsyncPipeline(AsyncSearchCommands, AsyncioPipeline, Pipeline): FILE: redis/commands/search/_util.py function to_string (line 1) | def to_string(s, encoding: str = "utf-8"): FILE: redis/commands/search/aggregation.py class Limit (line 8) | class Limit: method __init__ (line 9) | def __init__(self, offset: int = 0, count: int = 0) -> None: method build_args (line 13) | def build_args(self): class Reducer (line 20) | class Reducer: method __init__ (line 29) | def __init__(self, *args: str) -> None: method alias (line 34) | def alias(self, alias: str) -> "Reducer": method args (line 59) | def args(self) -> Tuple[str, ...]: class SortDirection (line 63) | class SortDirection: method __init__ (line 70) | def __init__(self, field: str) -> None: class Asc (line 74) | class Asc(SortDirection): class Desc (line 82) | class Desc(SortDirection): class AggregateRequest (line 90) | class AggregateRequest: method __init__ (line 95) | def __init__(self, query: str = "*") -> None: method load (line 120) | def load(self, *fields: str) -> "AggregateRequest": method group_by (line 136) | def group_by( method apply (line 162) | def apply(self, **kwexpr) -> "AggregateRequest": method limit (line 180) | def limit(self, offset: int, num: int) -> "AggregateRequest": method sort_by (line 226) | def sort_by(self, *fields: str, **kwargs) -> "AggregateRequest": method filter (line 271) | def filter(self, expressions: Union[str, List[str]]) -> "AggregateRequ... method with_schema (line 289) | def with_schema(self) -> "AggregateRequest": method add_scores (line 297) | def add_scores(self) -> "AggregateRequest": method scorer (line 304) | def scorer(self, scorer: str) -> "AggregateRequest": method verbatim (line 315) | def verbatim(self) -> "AggregateRequest": method cursor (line 319) | def cursor(self, count: int = 0, max_idle: float = 0.0) -> "AggregateR... method build_args (line 328) | def build_args(self) -> List[str]: method dialect (line 363) | def dialect(self, dialect: int) -> "AggregateRequest": class Cursor (line 373) | class Cursor: method __init__ (line 374) | def __init__(self, cid: int) -> None: method build_args (line 379) | def build_args(self): class AggregateResult (line 388) | class AggregateResult: method __init__ (line 389) | def __init__(self, rows, cursor: Cursor, schema) -> None: method __repr__ (line 394) | def __repr__(self) -> str: FILE: redis/commands/search/commands.py class SearchCommands (line 77) | class SearchCommands: method _parse_results (line 80) | def _parse_results(self, cmd, res, **kwargs): method _parse_info (line 86) | def _parse_info(self, res, **kwargs): method _parse_search (line 90) | def _parse_search(self, res, **kwargs): method _parse_hybrid_search (line 100) | def _parse_hybrid_search(self, res, **kwargs): method _parse_aggregate (line 122) | def _parse_aggregate(self, res, **kwargs): method _parse_profile (line 125) | def _parse_profile(self, res, **kwargs): method _parse_spellcheck (line 140) | def _parse_spellcheck(self, res, **kwargs): method _parse_config_get (line 177) | def _parse_config_get(self, res, **kwargs): method _parse_syndump (line 180) | def _parse_syndump(self, res, **kwargs): method batch_indexer (line 183) | def batch_indexer(self, chunk_size=100): method create_index (line 189) | def create_index( method alter_schema_add (line 259) | def alter_schema_add(self, fields: Union[Field, List[Field]]): method dropindex (line 279) | def dropindex(self, delete_documents: bool = False): method _add_document (line 304) | def _add_document( method _add_document_hash (line 346) | def _add_document_hash( method add_document (line 369) | def add_document( method add_document_hash (line 425) | def add_document_hash(self, doc_id, score=1.0, language=None, replace=... method delete_document (line 443) | def delete_document(self, doc_id, conn=None, delete_actual_document=Fa... method load_document (line 462) | def load_document(self, id): method get (line 478) | def get(self, *ids): method info (line 490) | def info(self): method get_params_args (line 501) | def get_params_args( method _mk_query_args (line 515) | def _mk_query_args( method search (line 531) | def search( method hybrid_search (line 564) | def hybrid_search( method explain (line 617) | def explain( method explain_cli (line 629) | def explain_cli(self, query: Union[str, Query]): # noqa method aggregate (line 632) | def aggregate( method _get_aggregate_result (line 664) | def _get_aggregate_result( method profile (line 686) | def profile( method spellcheck (line 726) | def spellcheck(self, query, distance=None, include=None, exclude=None): method dict_add (line 754) | def dict_add(self, name: str, *terms: List[str]): method dict_del (line 768) | def dict_del(self, name: str, *terms: List[str]): method dict_dump (line 782) | def dict_dump(self, name: str): method config_set (line 798) | def config_set(self, option: str, value: str) -> bool: method config_get (line 816) | def config_get(self, option: str) -> str: method tagvals (line 829) | def tagvals(self, tagfield: str): method aliasadd (line 842) | def aliasadd(self, alias: str): method aliasupdate (line 855) | def aliasupdate(self, alias: str): method aliasdel (line 868) | def aliasdel(self, alias: str): method sugadd (line 880) | def sugadd(self, key, *suggestions, **kwargs): method suglen (line 903) | def suglen(self, key: str) -> int: method sugdel (line 911) | def sugdel(self, key: str, string: str) -> int: method sugget (line 920) | def sugget( method synupdate (line 976) | def synupdate(self, groupid: str, skipinitial: bool = False, *terms: L... method syndump (line 1000) | def syndump(self): class AsyncSearchCommands (line 1013) | class AsyncSearchCommands(SearchCommands): method info (line 1014) | async def info(self): method search (line 1025) | async def search( method hybrid_search (line 1058) | async def hybrid_search( method aggregate (line 1111) | async def aggregate( method spellcheck (line 1143) | async def spellcheck(self, query, distance=None, include=None, exclude... method config_set (line 1175) | async def config_set(self, option: str, value: str) -> bool: method config_get (line 1193) | async def config_get(self, option: str) -> str: method load_document (line 1207) | async def load_document(self, id): method sugadd (line 1222) | async def sugadd(self, key, *suggestions, **kwargs): method sugget (line 1245) | async def sugget( FILE: redis/commands/search/document.py class Document (line 1) | class Document: method __init__ (line 6) | def __init__(self, id, payload=None, **fields): method __repr__ (line 12) | def __repr__(self): method __getitem__ (line 15) | def __getitem__(self, item): FILE: redis/commands/search/field.py class Field (line 6) | class Field: method __init__ (line 24) | def __init__( method append_arg (line 67) | def append_arg(self, value): method redis_args (line 70) | def redis_args(self): class TextField (line 79) | class TextField(Field): method __init__ (line 87) | def __init__( class NumericField (line 112) | class NumericField(Field): method __init__ (line 117) | def __init__(self, name: str, **kwargs): class GeoShapeField (line 121) | class GeoShapeField(Field): method __init__ (line 129) | def __init__(self, name: str, coord_system=None, **kwargs): class GeoField (line 136) | class GeoField(Field): method __init__ (line 141) | def __init__(self, name: str, **kwargs): class TagField (line 145) | class TagField(Field): method __init__ (line 154) | def __init__( class VectorField (line 171) | class VectorField(Field): method __init__ (line 177) | def __init__(self, name: str, algorithm: str, attributes: dict, **kwar... FILE: redis/commands/search/hybrid_query.py class HybridSearchQuery (line 16) | class HybridSearchQuery: method __init__ (line 17) | def __init__( method query_string (line 39) | def query_string(self) -> str: method scorer (line 43) | def scorer(self, scorer: str) -> "HybridSearchQuery": method yield_score_as (line 55) | def yield_score_as(self, alias: str) -> "HybridSearchQuery": method get_args (line 62) | def get_args(self) -> List[str]: class VectorSearchMethods (line 71) | class VectorSearchMethods(Enum): class HybridVsimQuery (line 77) | class HybridVsimQuery: method __init__ (line 78) | def __init__( method vector_field (line 118) | def vector_field(self) -> str: method vector_data (line 122) | def vector_data(self) -> Union[bytes, str]: method vsim_method_params (line 126) | def vsim_method_params( method filter (line 148) | def filter(self, flt: "HybridFilter") -> "HybridVsimQuery": method yield_score_as (line 158) | def yield_score_as(self, alias: str) -> "HybridVsimQuery": method get_args (line 165) | def get_args(self) -> List[str]: class HybridQuery (line 177) | class HybridQuery: method __init__ (line 178) | def __init__( method get_args (line 193) | def get_args(self) -> List[str]: class CombinationMethods (line 200) | class CombinationMethods(Enum): class CombineResultsMethod (line 206) | class CombineResultsMethod: method __init__ (line 207) | def __init__(self, method: CombinationMethods, **kwargs) -> None: method get_args (line 231) | def get_args(self) -> List[Union[str, int]]: class HybridPostProcessingConfig (line 241) | class HybridPostProcessingConfig: method __init__ (line 242) | def __init__(self) -> None: method load (line 253) | def load(self, *fields: str) -> Self: method group_by (line 263) | def group_by(self, fields: List[str], *reducers: Reducer) -> Self: method apply (line 286) | def apply(self, **kwexpr) -> Self: method sort_by (line 306) | def sort_by(self, *sortby: "SortbyField") -> Self: method filter (line 313) | def filter(self, filter: "HybridFilter") -> Self: method limit (line 325) | def limit(self, offset: int, num: int) -> Self: method build_args (line 332) | def build_args(self) -> List[str]: class HybridFilter (line 354) | class HybridFilter(Filter): method __init__ (line 355) | def __init__( class HybridCursorQuery (line 370) | class HybridCursorQuery: method __init__ (line 371) | def __init__(self, count: int = 0, max_idle: int = 0) -> None: method build_args (line 382) | def build_args(self): FILE: redis/commands/search/hybrid_result.py class HybridResult (line 6) | class HybridResult: class HybridCursorResult (line 18) | class HybridCursorResult: method __init__ (line 19) | def __init__(self, search_cursor_id: int, vsim_cursor_id: int) -> None: FILE: redis/commands/search/index_definition.py class IndexType (line 4) | class IndexType(Enum): class IndexDefinition (line 11) | class IndexDefinition: method __init__ (line 15) | def __init__( method _append_index_type (line 34) | def _append_index_type(self, index_type): method _append_prefix (line 43) | def _append_prefix(self, prefix): method _append_filter (line 51) | def _append_filter(self, filter): method _append_language (line 57) | def _append_language(self, language_field, language): method _append_score (line 66) | def _append_score(self, score_field, score): method _append_payload (line 75) | def _append_payload(self, payload_field): FILE: redis/commands/search/profile_information.py class ProfileInformation (line 4) | class ProfileInformation: method __init__ (line 9) | def __init__(self, info: Any) -> None: method info (line 13) | def info(self) -> Any: FILE: redis/commands/search/query.py class Query (line 6) | class Query: method __init__ (line 16) | def __init__(self, query_string: str) -> None: method query_string (line 47) | def query_string(self) -> str: method limit_ids (line 51) | def limit_ids(self, *ids) -> "Query": method return_fields (line 57) | def return_fields(self, *fields) -> "Query": method return_field (line 63) | def return_field( method _mk_field_list (line 84) | def _mk_field_list(self, fields: Optional[Union[List[str], str]]) -> L... method summarize (line 89) | def summarize( method highlight (line 127) | def highlight( method language (line 147) | def language(self, language: str) -> "Query": method slop (line 156) | def slop(self, slop: int) -> "Query": method timeout (line 163) | def timeout(self, timeout: float) -> "Query": method in_order (line 168) | def in_order(self) -> "Query": method scorer (line 177) | def scorer(self, scorer: str) -> "Query": method get_args (line 190) | def get_args(self) -> List[Union[str, int, float]]: method _get_args_tags (line 198) | def _get_args_tags(self) -> List[Union[str, int, float]]: method paging (line 249) | def paging(self, offset: int, num: int) -> "Query": method verbatim (line 260) | def verbatim(self) -> "Query": method no_content (line 267) | def no_content(self) -> "Query": method no_stopwords (line 272) | def no_stopwords(self) -> "Query": method with_payloads (line 281) | def with_payloads(self) -> "Query": method with_scores (line 286) | def with_scores(self) -> "Query": method limit_fields (line 291) | def limit_fields(self, *fields: str) -> "Query": method add_filter (line 301) | def add_filter(self, flt: "Filter") -> "Query": method sort_by (line 313) | def sort_by(self, field: str, asc: bool = True) -> "Query": method expander (line 323) | def expander(self, expander: str) -> "Query": method dialect (line 332) | def dialect(self, dialect: int) -> "Query": class Filter (line 342) | class Filter: method __init__ (line 343) | def __init__(self, keyword: str, field: str, *args: Union[str, float])... class NumericFilter (line 347) | class NumericFilter(Filter): method __init__ (line 351) | def __init__( class GeoFilter (line 367) | class GeoFilter(Filter): method __init__ (line 373) | def __init__( class SortbyField (line 379) | class SortbyField: method __init__ (line 380) | def __init__(self, field: str, asc=True) -> None: FILE: redis/commands/search/querystring.py function tags (line 1) | def tags(*t): function between (line 14) | def between(a, b, inclusive_min=True, inclusive_max=True): function equal (line 21) | def equal(n): function lt (line 28) | def lt(n): function le (line 35) | def le(n): function gt (line 42) | def gt(n): function ge (line 49) | def ge(n): function geo (line 56) | def geo(lat, lon, radius, unit="km"): class Value (line 63) | class Value: method combinable (line 65) | def combinable(self): method make_value (line 73) | def make_value(v): method to_string (line 81) | def to_string(self): method __str__ (line 84) | def __str__(self): class RangeValue (line 88) | class RangeValue(Value): method __init__ (line 91) | def __init__(self, a, b, inclusive_min=False, inclusive_max=False): method to_string (line 100) | def to_string(self): class ScalarValue (line 108) | class ScalarValue(Value): method __init__ (line 111) | def __init__(self, v): method to_string (line 114) | def to_string(self): class TagValue (line 118) | class TagValue(Value): method __init__ (line 121) | def __init__(self, *tags): method to_string (line 124) | def to_string(self): class GeoValue (line 128) | class GeoValue(Value): method __init__ (line 129) | def __init__(self, lon, lat, radius, unit="km"): method to_string (line 135) | def to_string(self): class Node (line 139) | class Node: method __init__ (line 140) | def __init__(self, *children, **kwparams): method join_fields (line 200) | def join_fields(self, key, vals): method to_node (line 209) | def to_node(cls, obj): # noqa method JOINSTR (line 215) | def JOINSTR(self): method to_string (line 218) | def to_string(self, with_parens=None): method _should_use_paren (line 223) | def _should_use_paren(self, optval): method __str__ (line 228) | def __str__(self): class BaseNode (line 232) | class BaseNode(Node): method __init__ (line 233) | def __init__(self, s): method to_string (line 237) | def to_string(self, with_parens=None): class IntersectNode (line 241) | class IntersectNode(Node): class UnionNode (line 250) | class UnionNode(Node): class DisjunctNode (line 259) | class DisjunctNode(IntersectNode): method to_string (line 265) | def to_string(self, with_parens=None): class DistjunctUnion (line 274) | class DistjunctUnion(DisjunctNode): class OptionalNode (line 285) | class OptionalNode(IntersectNode): method to_string (line 291) | def to_string(self, with_parens=None): function intersect (line 300) | def intersect(*args, **kwargs): function union (line 304) | def union(*args, **kwargs): function disjunct (line 308) | def disjunct(*args, **kwargs): function disjunct_union (line 312) | def disjunct_union(*args, **kwargs): function querystring (line 316) | def querystring(*args, **kwargs): FILE: redis/commands/search/reducers.py class FieldOnlyReducer (line 6) | class FieldOnlyReducer(Reducer): method __init__ (line 9) | def __init__(self, field: str) -> None: class count (line 14) | class count(Reducer): method __init__ (line 21) | def __init__(self) -> None: class sum (line 25) | class sum(FieldOnlyReducer): method __init__ (line 32) | def __init__(self, field: str) -> None: class min (line 36) | class min(FieldOnlyReducer): method __init__ (line 43) | def __init__(self, field: str) -> None: class max (line 47) | class max(FieldOnlyReducer): method __init__ (line 54) | def __init__(self, field: str) -> None: class avg (line 58) | class avg(FieldOnlyReducer): method __init__ (line 65) | def __init__(self, field: str) -> None: class tolist (line 69) | class tolist(FieldOnlyReducer): method __init__ (line 76) | def __init__(self, field: str) -> None: class count_distinct (line 80) | class count_distinct(FieldOnlyReducer): method __init__ (line 88) | def __init__(self, field: str) -> None: class count_distinctish (line 92) | class count_distinctish(FieldOnlyReducer): class quantile (line 102) | class quantile(Reducer): method __init__ (line 110) | def __init__(self, field: str, pct: float) -> None: class stddev (line 115) | class stddev(FieldOnlyReducer): method __init__ (line 122) | def __init__(self, field: str) -> None: class first_value (line 126) | class first_value(Reducer): method __init__ (line 133) | def __init__(self, field: str, *byfields: Union[Asc, Desc]) -> None: class random_sample (line 166) | class random_sample(Reducer): method __init__ (line 173) | def __init__(self, field: str, size: int) -> None: FILE: redis/commands/search/result.py class Result (line 7) | class Result: method __init__ (line 13) | def __init__( method __repr__ (line 86) | def __repr__(self) -> str: FILE: redis/commands/search/suggestion.py class Suggestion (line 6) | class Suggestion: method __init__ (line 12) | def __init__( method __repr__ (line 19) | def __repr__(self) -> str: class SuggestionParser (line 23) | class SuggestionParser: method __init__ (line 30) | def __init__(self, with_scores: bool, with_payloads: bool, ret) -> None: method __iter__ (line 50) | def __iter__(self): FILE: redis/commands/sentinel.py class SentinelCommands (line 4) | class SentinelCommands: method sentinel (line 10) | def sentinel(self, *args): method sentinel_get_master_addr_by_name (line 14) | def sentinel_get_master_addr_by_name(self, service_name, return_respon... method sentinel_master (line 26) | def sentinel_master(self, service_name, return_responses=False): method sentinel_masters (line 35) | def sentinel_masters(self): method sentinel_monitor (line 45) | def sentinel_monitor(self, name, ip, port, quorum): method sentinel_remove (line 49) | def sentinel_remove(self, name): method sentinel_sentinels (line 53) | def sentinel_sentinels(self, service_name, return_responses=False): method sentinel_set (line 62) | def sentinel_set(self, name, option, value): method sentinel_slaves (line 66) | def sentinel_slaves(self, service_name): method sentinel_reset (line 76) | def sentinel_reset(self, pattern): method sentinel_failover (line 87) | def sentinel_failover(self, new_master_name): method sentinel_ckquorum (line 96) | def sentinel_ckquorum(self, new_master_name): method sentinel_flushconfig (line 107) | def sentinel_flushconfig(self): class AsyncSentinelCommands (line 126) | class AsyncSentinelCommands(SentinelCommands): method sentinel (line 127) | async def sentinel(self, *args) -> None: FILE: redis/commands/timeseries/__init__.py class TimeSeries (line 25) | class TimeSeries(TimeSeriesCommands): method __init__ (line 33) | def __init__(self, client=None, **kwargs): method pipeline (line 67) | def pipeline(self, transaction=True, shard_hint=None): class ClusterPipeline (line 103) | class ClusterPipeline(TimeSeriesCommands, redis.cluster.ClusterPipeline): class Pipeline (line 107) | class Pipeline(TimeSeriesCommands, redis.client.Pipeline): FILE: redis/commands/timeseries/commands.py class TimeSeriesCommands (line 25) | class TimeSeriesCommands: method create (line 28) | def create( method alter (line 100) | def alter( method add (line 169) | def add( method madd (line 254) | def madd(self, ktv_tuples: List[Tuple[KeyT, Union[int, str], Union[Num... method incrby (line 283) | def incrby( method decrby (line 375) | def decrby( method delete (line 467) | def delete(self, key: KeyT, from_time: int, to_time: int): method createrule (line 489) | def createrule( method deleterule (line 524) | def deleterule(self, source_key: KeyT, dest_key: KeyT): method __range_params (line 532) | def __range_params( method range (line 561) | def range( method revrange (line 635) | def revrange( method __mrange_params (line 711) | def __mrange_params( method mrange (line 747) | def mrange( method mrevrange (line 841) | def mrevrange( method get (line 935) | def get(self, key: KeyT, latest: Optional[bool] = False): method mget (line 950) | def mget( method info (line 982) | def info(self, key: KeyT): method queryindex (line 990) | def queryindex(self, filters: List[str]): method _append_uncompressed (line 999) | def _append_uncompressed(params: List[str], uncompressed: Optional[boo... method _append_with_labels (line 1005) | def _append_with_labels( method _append_groupby_reduce (line 1022) | def _append_groupby_reduce( method _append_retention (line 1030) | def _append_retention(params: List[str], retention: Optional[int]): method _append_labels (line 1036) | def _append_labels(params: List[str], labels: Optional[List[str]]): method _append_count (line 1044) | def _append_count(params: List[str], count: Optional[int]): method _append_timestamp (line 1050) | def _append_timestamp(params: List[str], timestamp: Optional[int]): method _append_align (line 1056) | def _append_align(params: List[str], align: Optional[Union[int, str]]): method _append_aggregation (line 1062) | def _append_aggregation( method _append_chunk_size (line 1072) | def _append_chunk_size(params: List[str], chunk_size: Optional[int]): method _append_duplicate_policy (line 1078) | def _append_duplicate_policy(params: List[str], duplicate_policy: Opti... method _append_on_duplicate (line 1084) | def _append_on_duplicate(params: List[str], on_duplicate: Optional[str]): method _append_filer_by_ts (line 1090) | def _append_filer_by_ts(params: List[str], ts_list: Optional[List[int]]): method _append_filer_by_value (line 1096) | def _append_filer_by_value( method _append_latest (line 1104) | def _append_latest(params: List[str], latest: Optional[bool]): method _append_bucket_timestamp (line 1110) | def _append_bucket_timestamp(params: List[str], bucket_timestamp: Opti... method _append_empty (line 1116) | def _append_empty(params: List[str], empty: Optional[bool]): method _append_insertion_filters (line 1122) | def _append_insertion_filters( FILE: redis/commands/timeseries/info.py class TSInfo (line 5) | class TSInfo: method __init__ (line 26) | def __init__(self, args): method get (line 84) | def get(self, item): method __getitem__ (line 90) | def __getitem__(self, item): FILE: redis/commands/timeseries/utils.py function list_to_dict (line 4) | def list_to_dict(aList): function parse_range (line 8) | def parse_range(response, **kwargs): function parse_m_range (line 13) | def parse_m_range(response): function parse_get (line 21) | def parse_get(response): function parse_m_get (line 28) | def parse_m_get(response): FILE: redis/commands/vectorset/__init__.py class _VectorSetBase (line 22) | class _VectorSetBase(VectorSetCommands): method __init__ (line 25) | def __init__(self, client, **kwargs): class VectorSet (line 52) | class VectorSet(_VectorSetBase): class AsyncVectorSet (line 58) | class AsyncVectorSet(_VectorSetBase): FILE: redis/commands/vectorset/commands.py class QuantizationOptions (line 51) | class QuantizationOptions(Enum): class CallbacksOptions (line 59) | class CallbacksOptions(Enum): class VectorSetCommands (line 69) | class VectorSetCommands(CommandsProtocol): method vadd (line 73) | def vadd( method vadd (line 87) | def vadd( method vadd (line 100) | def vadd( method vsim (line 179) | def vsim( method vsim (line 195) | def vsim( method vsim (line 210) | def vsim( method vdim (line 301) | def vdim(self: SyncClientProtocol, key: KeyT) -> int: ... method vdim (line 304) | def vdim(self: AsyncClientProtocol, key: KeyT) -> Awaitable[int]: ... method vdim (line 306) | def vdim(self, key: KeyT) -> Awaitable[int] | int: method vcard (line 321) | def vcard(self: SyncClientProtocol, key: KeyT) -> int: ... method vcard (line 324) | def vcard(self: AsyncClientProtocol, key: KeyT) -> Awaitable[int]: ... method vcard (line 326) | def vcard(self, key: KeyT) -> Awaitable[int] | int: method vrem (line 337) | def vrem(self: SyncClientProtocol, key: KeyT, element: str) -> int: ... method vrem (line 340) | def vrem(self: AsyncClientProtocol, key: KeyT, element: str) -> Awaita... method vrem (line 342) | def vrem(self, key: KeyT, element: str) -> Awaitable[int] | int: method vemb (line 351) | def vemb( method vemb (line 359) | def vemb( method vemb (line 366) | def vemb( method vlinks (line 406) | def vlinks( method vlinks (line 414) | def vlinks( method vlinks (line 421) | def vlinks( method vinfo (line 446) | def vinfo(self: SyncClientProtocol, key: KeyT) -> dict | None: ... method vinfo (line 449) | def vinfo(self: AsyncClientProtocol, key: KeyT) -> Awaitable[dict | No... method vinfo (line 451) | def vinfo(self, key: KeyT) -> (dict | None) | Awaitable[dict | None]: method vsetattr (line 460) | def vsetattr( method vsetattr (line 468) | def vsetattr( method vsetattr (line 475) | def vsetattr( method vgetattr (line 495) | def vgetattr( method vgetattr (line 500) | def vgetattr( method vgetattr (line 504) | def vgetattr( method vrandmember (line 518) | def vrandmember( method vrandmember (line 523) | def vrandmember( method vrandmember (line 527) | def vrandmember( method vrange (line 554) | def vrange( method vrange (line 563) | def vrange( method vrange (line 571) | def vrange( FILE: redis/commands/vectorset/utils.py function parse_vemb_result (line 7) | def parse_vemb_result(response, **options): function parse_vlinks_result (line 46) | def parse_vlinks_result(response, **options): function parse_vsim_result (line 74) | def parse_vsim_result(response, **options): FILE: redis/connection.py class HiredisRespSerializer (line 119) | class HiredisRespSerializer: method pack (line 120) | def pack(self, *args: List): class PythonRespSerializer (line 137) | class PythonRespSerializer: method __init__ (line 138) | def __init__(self, buffer_cutoff, encode) -> None: method pack (line 142) | def pack(self, *args): class ConnectionInterface (line 188) | class ConnectionInterface: method repr_pieces (line 190) | def repr_pieces(self): method register_connect_callback (line 194) | def register_connect_callback(self, callback): method deregister_connect_callback (line 198) | def deregister_connect_callback(self, callback): method set_parser (line 202) | def set_parser(self, parser_class): method get_protocol (line 206) | def get_protocol(self): method connect (line 210) | def connect(self): method on_connect (line 214) | def on_connect(self): method disconnect (line 218) | def disconnect(self, *args, **kwargs): method check_health (line 222) | def check_health(self): method send_packed_command (line 226) | def send_packed_command(self, command, check_health=True): method send_command (line 230) | def send_command(self, *args, **kwargs): method can_read (line 234) | def can_read(self, timeout=0): method read_response (line 238) | def read_response( method pack_command (line 249) | def pack_command(self, *args): method pack_commands (line 253) | def pack_commands(self, commands): method handshake_metadata (line 258) | def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, st... method set_re_auth_token (line 262) | def set_re_auth_token(self, token: TokenInterface): method re_auth (line 266) | def re_auth(self): method mark_for_reconnect (line 270) | def mark_for_reconnect(self): method should_reconnect (line 278) | def should_reconnect(self): method reset_should_reconnect (line 285) | def reset_should_reconnect(self): method extract_connection_details (line 292) | def extract_connection_details(self) -> str: class MaintNotificationsAbstractConnection (line 296) | class MaintNotificationsAbstractConnection: method __init__ (line 306) | def __init__( method _get_parser (line 360) | def _get_parser(self) -> Union[_HiredisParser, _RESP3Parser]: method _get_socket (line 364) | def _get_socket(self) -> Optional[socket.socket]: method get_protocol (line 368) | def get_protocol(self) -> Union[int, str]: method host (line 378) | def host(self) -> str: method host (line 383) | def host(self, value: str): method socket_timeout (line 388) | def socket_timeout(self) -> Optional[Union[float, int]]: method socket_timeout (line 393) | def socket_timeout(self, value: Optional[Union[float, int]]): method socket_connect_timeout (line 398) | def socket_connect_timeout(self) -> Optional[Union[float, int]]: method socket_connect_timeout (line 403) | def socket_connect_timeout(self, value: Optional[Union[float, int]]): method send_command (line 407) | def send_command(self, *args, **kwargs): method read_response (line 411) | def read_response( method disconnect (line 422) | def disconnect(self, *args, **kwargs): method _configure_maintenance_notifications (line 425) | def _configure_maintenance_notifications( method set_maint_notifications_pool_handler_for_connection (line 517) | def set_maint_notifications_pool_handler_for_connection( method set_maint_notifications_cluster_handler_for_connection (line 550) | def set_maint_notifications_cluster_handler_for_connection( method activate_maint_notifications_handling_if_enabled (line 576) | def activate_maint_notifications_handling_if_enabled(self, check_healt... method _enable_maintenance_notifications (line 595) | def _enable_maintenance_notifications( method get_resolved_ip (line 633) | def get_resolved_ip(self) -> Optional[str]: method maintenance_state (line 685) | def maintenance_state(self) -> MaintenanceState: method maintenance_state (line 689) | def maintenance_state(self, state: "MaintenanceState"): method add_maint_start_notification (line 692) | def add_maint_start_notification(self, id: int): method get_processed_start_notifications (line 695) | def get_processed_start_notifications(self) -> set: method add_skipped_end_notification (line 698) | def add_skipped_end_notification(self, id: int): method get_skipped_end_notifications (line 701) | def get_skipped_end_notifications(self) -> set: method reset_received_notifications (line 704) | def reset_received_notifications(self): method getpeername (line 708) | def getpeername(self): method update_current_socket_timeout (line 717) | def update_current_socket_timeout(self, relaxed_timeout: Optional[floa... method update_parser_timeout (line 730) | def update_parser_timeout(self, timeout: Optional[float] = None): method set_tmp_settings (line 738) | def set_tmp_settings( method reset_tmp_settings (line 752) | def reset_tmp_settings( class AbstractConnection (line 764) | class AbstractConnection(MaintNotificationsAbstractConnection, Connectio... method __init__ (line 772) | def __init__( method __repr__ (line 921) | def __repr__(self): method repr_pieces (line 926) | def repr_pieces(self): method __del__ (line 929) | def __del__(self): method _construct_command_packer (line 935) | def _construct_command_packer(self, packer): method register_connect_callback (line 943) | def register_connect_callback(self, callback): method deregister_connect_callback (line 955) | def deregister_connect_callback(self, callback): method set_parser (line 966) | def set_parser(self, parser_class): method _get_parser (line 974) | def _get_parser(self) -> Union[_HiredisParser, _RESP3Parser, _RESP2Par... method connect (line 977) | def connect(self): method connect_check_health (line 988) | def connect_check_health( method _connect (line 1055) | def _connect(self): method _host_error (line 1059) | def _host_error(self): method _error_message (line 1062) | def _error_message(self, exception): method on_connect (line 1065) | def on_connect(self): method on_connect_check_health (line 1068) | def on_connect_check_health(self, check_health: bool = True): method disconnect (line 1184) | def disconnect(self, *args, **kwargs): method mark_for_reconnect (line 1247) | def mark_for_reconnect(self): method should_reconnect (line 1250) | def should_reconnect(self): method reset_should_reconnect (line 1253) | def reset_should_reconnect(self): method _send_ping (line 1256) | def _send_ping(self): method _ping_failed (line 1262) | def _ping_failed(self, error, failure_count): method check_health (line 1268) | def check_health(self): method send_packed_command (line 1277) | def send_packed_command(self, command, check_health=True): method send_command (line 1308) | def send_command(self, *args, **kwargs): method can_read (line 1315) | def can_read(self, timeout=0): method read_response (line 1330) | def read_response( method pack_command (line 1379) | def pack_command(self, *args): method pack_commands (line 1383) | def pack_commands(self, commands): method get_protocol (line 1413) | def get_protocol(self) -> Union[int, str]: method handshake_metadata (line 1417) | def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, st... method handshake_metadata (line 1421) | def handshake_metadata(self, value: Union[Dict[bytes, bytes], Dict[str... method set_re_auth_token (line 1424) | def set_re_auth_token(self, token: TokenInterface): method re_auth (line 1427) | def re_auth(self): method _get_socket (line 1437) | def _get_socket(self) -> Optional[socket.socket]: method socket_timeout (line 1441) | def socket_timeout(self) -> Optional[Union[float, int]]: method socket_timeout (line 1445) | def socket_timeout(self, value: Optional[Union[float, int]]): method socket_connect_timeout (line 1449) | def socket_connect_timeout(self) -> Optional[Union[float, int]]: method socket_connect_timeout (line 1453) | def socket_connect_timeout(self, value: Optional[Union[float, int]]): method extract_connection_details (line 1456) | def extract_connection_details(self) -> str: class Connection (line 1469) | class Connection(AbstractConnection): method __init__ (line 1472) | def __init__( method repr_pieces (line 1488) | def repr_pieces(self): method _connect (line 1494) | def _connect(self): method _host_error (line 1540) | def _host_error(self): method host (line 1544) | def host(self) -> str: method host (line 1548) | def host(self, value: str): class CacheProxyConnection (line 1552) | class CacheProxyConnection(MaintNotificationsAbstractConnection, Connect... method __init__ (line 1557) | def __init__( method repr_pieces (line 1593) | def repr_pieces(self): method register_connect_callback (line 1596) | def register_connect_callback(self, callback): method deregister_connect_callback (line 1599) | def deregister_connect_callback(self, callback): method set_parser (line 1602) | def set_parser(self, parser_class): method set_maint_notifications_pool_handler_for_connection (line 1605) | def set_maint_notifications_pool_handler_for_connection( method set_maint_notifications_cluster_handler_for_connection (line 1613) | def set_maint_notifications_cluster_handler_for_connection( method get_protocol (line 1621) | def get_protocol(self): method connect (line 1624) | def connect(self): method on_connect (line 1647) | def on_connect(self): method disconnect (line 1650) | def disconnect(self, *args, **kwargs): method check_health (line 1655) | def check_health(self): method send_packed_command (line 1658) | def send_packed_command(self, command, check_health=True): method send_command (line 1663) | def send_command(self, *args, **kwargs): method can_read (line 1713) | def can_read(self, timeout=0): method read_response (line 1716) | def read_response( method pack_command (line 1776) | def pack_command(self, *args): method pack_commands (line 1779) | def pack_commands(self, commands): method handshake_metadata (line 1783) | def handshake_metadata(self) -> Union[Dict[bytes, bytes], Dict[str, st... method set_re_auth_token (line 1786) | def set_re_auth_token(self, token: TokenInterface): method re_auth (line 1789) | def re_auth(self): method mark_for_reconnect (line 1792) | def mark_for_reconnect(self): method should_reconnect (line 1795) | def should_reconnect(self): method reset_should_reconnect (line 1798) | def reset_should_reconnect(self): method host (line 1802) | def host(self) -> str: method host (line 1806) | def host(self, value: str): method socket_timeout (line 1810) | def socket_timeout(self) -> Optional[Union[float, int]]: method socket_timeout (line 1814) | def socket_timeout(self, value: Optional[Union[float, int]]): method socket_connect_timeout (line 1818) | def socket_connect_timeout(self) -> Optional[Union[float, int]]: method socket_connect_timeout (line 1822) | def socket_connect_timeout(self, value: Optional[Union[float, int]]): method _maint_notifications_connection_handler (line 1826) | def _maint_notifications_connection_handler( method _maint_notifications_connection_handler (line 1833) | def _maint_notifications_connection_handler( method _get_socket (line 1838) | def _get_socket(self) -> Optional[socket.socket]: method _get_maint_notifications_connection_instance (line 1846) | def _get_maint_notifications_connection_instance( method maintenance_state (line 1865) | def maintenance_state(self) -> MaintenanceState: method maintenance_state (line 1870) | def maintenance_state(self, state: MaintenanceState): method getpeername (line 1874) | def getpeername(self): method get_resolved_ip (line 1878) | def get_resolved_ip(self): method update_current_socket_timeout (line 1882) | def update_current_socket_timeout(self, relaxed_timeout: Optional[floa... method set_tmp_settings (line 1886) | def set_tmp_settings( method reset_tmp_settings (line 1894) | def reset_tmp_settings( method _connect (line 1902) | def _connect(self): method _host_error (line 1905) | def _host_error(self): method _enable_tracking_callback (line 1908) | def _enable_tracking_callback(self, conn: ConnectionInterface) -> None: method _process_pending_invalidations (line 1913) | def _process_pending_invalidations(self): method _on_invalidation_callback (line 1917) | def _on_invalidation_callback(self, data: List[Union[str, Optional[Lis... method extract_connection_details (line 1931) | def extract_connection_details(self) -> str: class SSLConnection (line 1935) | class SSLConnection(Connection): method __init__ (line 1941) | def __init__( method _connect (line 2022) | def _connect(self): method _wrap_socket_with_ssl (line 2033) | def _wrap_socket_with_ssl(self, sock): class UnixDomainSocketConnection (line 2119) | class UnixDomainSocketConnection(AbstractConnection): method __init__ (line 2122) | def __init__(self, path="", socket_timeout=None, **kwargs): method repr_pieces (line 2127) | def repr_pieces(self): method _connect (line 2133) | def _connect(self): method _host_error (line 2150) | def _host_error(self): function to_bool (line 2157) | def to_bool(value): function parse_ssl_verify_flags (line 2165) | def parse_ssl_verify_flags(value): function parse_url (line 2195) | def parse_url(url): class ConnectionPoolInterface (line 2255) | class ConnectionPoolInterface(ABC): method get_protocol (line 2257) | def get_protocol(self): method reset (line 2261) | def reset(self): method get_connection (line 2270) | def get_connection( method get_encoder (line 2276) | def get_encoder(self): method release (line 2280) | def release(self, connection: ConnectionInterface): method disconnect (line 2284) | def disconnect(self, inuse_connections: bool = True): method close (line 2288) | def close(self): method set_retry (line 2292) | def set_retry(self, retry: Retry): method re_auth_callback (line 2296) | def re_auth_callback(self, token: TokenInterface): method get_connection_count (line 2300) | def get_connection_count(self) -> list[tuple[int, dict]]: class MaintNotificationsAbstractConnectionPool (line 2307) | class MaintNotificationsAbstractConnectionPool: method __init__ (line 2318) | def __init__( method connection_kwargs (line 2368) | def connection_kwargs(self) -> Dict[str, Any]: method connection_kwargs (line 2373) | def connection_kwargs(self, value: Dict[str, Any]): method _get_pool_lock (line 2377) | def _get_pool_lock(self) -> threading.RLock: method _get_free_connections (line 2381) | def _get_free_connections(self) -> Iterable["MaintNotificationsAbstrac... method _get_in_use_connections (line 2385) | def _get_in_use_connections( method maint_notifications_enabled (line 2390) | def maint_notifications_enabled(self): method update_maint_notifications_config (line 2410) | def update_maint_notifications_config( method _update_connection_kwargs_for_maint_notifications (line 2456) | def _update_connection_kwargs_for_maint_notifications( method _update_maint_notifications_configs_for_connections (line 2501) | def _update_maint_notifications_configs_for_connections( method _should_update_connection (line 2554) | def _should_update_connection( method update_connection_settings (line 2580) | def update_connection_settings( method update_connections_settings (line 2615) | def update_connections_settings( method update_connection_kwargs (line 2688) | def update_connection_kwargs( method update_active_connections_for_reconnect (line 2700) | def update_active_connections_for_reconnect( method disconnect_free_connections (line 2717) | def disconnect_free_connections( class ConnectionPool (line 2735) | class ConnectionPool(MaintNotificationsAbstractConnectionPool, Connectio... method from_url (line 2757) | def from_url(cls: Type[_CP], url: str, **kwargs) -> _CP: method __init__ (line 2805) | def __init__( method __repr__ (line 2890) | def __repr__(self) -> str: method connection_kwargs (line 2904) | def connection_kwargs(self) -> Dict[str, Any]: method connection_kwargs (line 2908) | def connection_kwargs(self, value: Dict[str, Any]): method get_protocol (line 2911) | def get_protocol(self): method reset (line 2919) | def reset(self) -> None: method __del__ (line 2958) | def __del__(self) -> None: method _checkpid (line 2985) | def _checkpid(self) -> None: method get_connection (line 3037) | def get_connection(self, command_name=None, *keys, **options) -> "Conn... method get_encoder (line 3103) | def get_encoder(self) -> Encoder: method make_connection (line 3112) | def make_connection(self) -> "ConnectionInterface": method release (line 3137) | def release(self, connection: "Connection") -> None: method owns_connection (line 3182) | def owns_connection(self, connection: "Connection") -> int: method disconnect (line 3185) | def disconnect(self, inuse_connections: bool = True) -> None: method close (line 3205) | def close(self) -> None: method set_retry (line 3209) | def set_retry(self, retry: Retry) -> None: method re_auth_callback (line 3216) | def re_auth_callback(self, token: TokenInterface): method _get_pool_lock (line 3231) | def _get_pool_lock(self): method _get_free_connections (line 3234) | def _get_free_connections(self): method _get_in_use_connections (line 3238) | def _get_in_use_connections(self): method _mock (line 3242) | def _mock(self, error: RedisError): method get_connection_count (line 3250) | def get_connection_count(self) -> List[tuple[int, dict]]: class BlockingConnectionPool (line 3271) | class BlockingConnectionPool(ConnectionPool): method __init__ (line 3305) | def __init__( method reset (line 3323) | def reset(self): method __del__ (line 3386) | def __del__(self) -> None: method make_connection (line 3416) | def make_connection(self): method get_connection (line 3454) | def get_connection(self, command_name=None, *keys, **options): method release (line 3548) | def release(self, connection): method disconnect (line 3599) | def disconnect(self, inuse_connections: bool = True): method _get_free_connections (line 3624) | def _get_free_connections(self): method _get_in_use_connections (line 3628) | def _get_in_use_connections(self): method set_in_maintenance (line 3638) | def set_in_maintenance(self, in_maintenance: bool): FILE: redis/crc.py function key_slot (line 12) | def key_slot(key: EncodedT, bucket: int = REDIS_CLUSTER_HASH_SLOTS) -> int: FILE: redis/credentials.py class CredentialProvider (line 8) | class CredentialProvider: method get_credentials (line 13) | def get_credentials(self) -> Union[Tuple[str], Tuple[str, str]]: method get_credentials_async (line 16) | async def get_credentials_async(self) -> Union[Tuple[str], Tuple[str, ... class StreamingCredentialProvider (line 24) | class StreamingCredentialProvider(CredentialProvider, ABC): method on_next (line 30) | def on_next(self, callback: Callable[[Any], None]): method on_error (line 41) | def on_error(self, callback: Callable[[Exception], None]): method is_streaming (line 45) | def is_streaming(self) -> bool: class UsernamePasswordCredentialProvider (line 49) | class UsernamePasswordCredentialProvider(CredentialProvider): method __init__ (line 55) | def __init__(self, username: Optional[str] = None, password: Optional[... method get_credentials (line 59) | def get_credentials(self): method get_credentials_async (line 64) | async def get_credentials_async(self) -> Union[Tuple[str], Tuple[str, ... FILE: redis/data_structure.py class WeightedList (line 9) | class WeightedList(Generic[T]): method __init__ (line 14) | def __init__(self): method add (line 18) | def add(self, item: Any, weight: float) -> None: method remove (line 32) | def remove(self, item): method get_by_weight_range (line 41) | def get_by_weight_range( method get_top_n (line 52) | def get_top_n(self, n: int) -> List[tuple[Any, Number]]: method update_weight (line 57) | def update_weight(self, item, new_weight: float): method __iter__ (line 64) | def __iter__(self): method __len__ (line 74) | def __len__(self): method __getitem__ (line 78) | def __getitem__(self, index) -> tuple[Any, Number]: FILE: redis/driver_info.py function _validate_no_invalid_chars (line 9) | def _validate_no_invalid_chars(value: str, field_name: str) -> None: function _validate_driver_name (line 24) | def _validate_driver_name(name: str) -> None: function _validate_driver_version (line 47) | def _validate_driver_version(version: str) -> None: function _format_driver_entry (line 51) | def _format_driver_entry(driver_name: str, driver_version: str) -> str: class DriverInfo (line 56) | class DriverInfo: method __post_init__ (line 93) | def __post_init__(self): method upstream_drivers (line 101) | def upstream_drivers(self) -> List[str]: method add_upstream_driver (line 109) | def add_upstream_driver( method formatted_name (line 131) | def formatted_name(self) -> str: function resolve_driver_info (line 144) | def resolve_driver_info( FILE: redis/event.py class EventListenerInterface (line 16) | class EventListenerInterface(ABC): method listen (line 22) | def listen(self, event: object): class AsyncEventListenerInterface (line 26) | class AsyncEventListenerInterface(ABC): method listen (line 32) | async def listen(self, event: object): class EventDispatcherInterface (line 36) | class EventDispatcherInterface(ABC): method dispatch (line 43) | def dispatch(self, event: object): method dispatch_async (line 47) | async def dispatch_async(self, event: object): method register_listeners (line 51) | def register_listeners( class EventException (line 62) | class EventException(Exception): method __init__ (line 67) | def __init__(self, exception: Exception, event: object): class EventDispatcher (line 73) | class EventDispatcher(EventDispatcherInterface): method __init__ (line 75) | def __init__( method dispatch (line 109) | def dispatch(self, event: object): method dispatch_async (line 116) | async def dispatch_async(self, event: object): method register_listeners (line 126) | def register_listeners( class AfterConnectionReleasedEvent (line 146) | class AfterConnectionReleasedEvent: method __init__ (line 151) | def __init__(self, connection): method connection (line 155) | def connection(self): class AsyncAfterConnectionReleasedEvent (line 159) | class AsyncAfterConnectionReleasedEvent(AfterConnectionReleasedEvent): class ClientType (line 163) | class ClientType(Enum): class AfterPooledConnectionsInstantiationEvent (line 168) | class AfterPooledConnectionsInstantiationEvent: method __init__ (line 173) | def __init__( method connection_pools (line 184) | def connection_pools(self): method client_type (line 188) | def client_type(self) -> ClientType: method credential_provider (line 192) | def credential_provider(self) -> Union[CredentialProvider, None]: class AfterSingleConnectionInstantiationEvent (line 196) | class AfterSingleConnectionInstantiationEvent: method __init__ (line 204) | def __init__( method connection (line 215) | def connection(self): method client_type (line 219) | def client_type(self) -> ClientType: method connection_lock (line 223) | def connection_lock(self) -> Union[threading.RLock, asyncio.Lock]: class AfterPubSubConnectionInstantiationEvent (line 227) | class AfterPubSubConnectionInstantiationEvent: method __init__ (line 228) | def __init__( method pubsub_connection (line 241) | def pubsub_connection(self): method connection_pool (line 245) | def connection_pool(self): method client_type (line 249) | def client_type(self) -> ClientType: method connection_lock (line 253) | def connection_lock(self) -> Union[threading.RLock, asyncio.Lock]: class AfterAsyncClusterInstantiationEvent (line 257) | class AfterAsyncClusterInstantiationEvent: method __init__ (line 265) | def __init__( method nodes (line 274) | def nodes(self) -> dict: method credential_provider (line 278) | def credential_provider(self) -> Union[CredentialProvider, None]: class OnCommandsFailEvent (line 282) | class OnCommandsFailEvent: method __init__ (line 287) | def __init__( method commands (line 296) | def commands(self) -> tuple: method exception (line 300) | def exception(self) -> Exception: class AsyncOnCommandsFailEvent (line 304) | class AsyncOnCommandsFailEvent(OnCommandsFailEvent): class ReAuthConnectionListener (line 308) | class ReAuthConnectionListener(EventListenerInterface): method listen (line 313) | def listen(self, event: AfterConnectionReleasedEvent): class AsyncReAuthConnectionListener (line 317) | class AsyncReAuthConnectionListener(AsyncEventListenerInterface): method listen (line 322) | async def listen(self, event: AsyncAfterConnectionReleasedEvent): class RegisterReAuthForPooledConnections (line 326) | class RegisterReAuthForPooledConnections(EventListenerInterface): method __init__ (line 332) | def __init__(self): method listen (line 335) | def listen(self, event: AfterPooledConnectionsInstantiationEvent): method _re_auth (line 346) | def _re_auth(self, token): method _re_auth_async (line 350) | async def _re_auth_async(self, token): method _raise_on_error (line 354) | def _raise_on_error(self, error: Exception): method _raise_on_error_async (line 357) | async def _raise_on_error_async(self, error: Exception): class RegisterReAuthForSingleConnection (line 361) | class RegisterReAuthForSingleConnection(EventListenerInterface): method __init__ (line 367) | def __init__(self): method listen (line 370) | def listen(self, event: AfterSingleConnectionInstantiationEvent): method _re_auth (line 385) | def _re_auth(self, token): method _re_auth_async (line 392) | async def _re_auth_async(self, token): method _raise_on_error (line 399) | def _raise_on_error(self, error: Exception): method _raise_on_error_async (line 402) | async def _raise_on_error_async(self, error: Exception): class RegisterReAuthForAsyncClusterNodes (line 406) | class RegisterReAuthForAsyncClusterNodes(EventListenerInterface): method __init__ (line 407) | def __init__(self): method listen (line 410) | def listen(self, event: AfterAsyncClusterInstantiationEvent): method _re_auth (line 416) | async def _re_auth(self, token: TokenInterface): method _raise_on_error (line 420) | async def _raise_on_error(self, error: Exception): class RegisterReAuthForPubSub (line 424) | class RegisterReAuthForPubSub(EventListenerInterface): method __init__ (line 425) | def __init__(self): method listen (line 432) | def listen(self, event: AfterPubSubConnectionInstantiationEvent): method _re_auth (line 451) | def _re_auth(self, token: TokenInterface): method _re_auth_async (line 460) | async def _re_auth_async(self, token: TokenInterface): method _raise_on_error (line 469) | def _raise_on_error(self, error: Exception): method _raise_on_error_async (line 472) | async def _raise_on_error_async(self, error: Exception): class InitializeConnectionCountObservability (line 476) | class InitializeConnectionCountObservability(EventListenerInterface): method listen (line 486) | def listen(self, event: AfterPooledConnectionsInstantiationEvent): FILE: redis/exceptions.py class ExceptionType (line 6) | class ExceptionType(Enum): class RedisError (line 13) | class RedisError(Exception): method __init__ (line 14) | def __init__(self, *args, status_code: str = None): method __repr__ (line 19) | def __repr__(self): class ConnectionError (line 23) | class ConnectionError(RedisError): method __init__ (line 24) | def __init__(self, *args, status_code: str = None): class TimeoutError (line 29) | class TimeoutError(RedisError): method __init__ (line 30) | def __init__(self, *args, status_code: str = None): class AuthenticationError (line 35) | class AuthenticationError(ConnectionError): method __init__ (line 36) | def __init__(self, *args, status_code: str = None): class AuthorizationError (line 41) | class AuthorizationError(ConnectionError): method __init__ (line 42) | def __init__(self, *args, status_code: str = None): class BusyLoadingError (line 47) | class BusyLoadingError(ConnectionError): method __init__ (line 48) | def __init__(self, *args, status_code: str = None): class InvalidResponse (line 53) | class InvalidResponse(RedisError): class ResponseError (line 57) | class ResponseError(RedisError): class DataError (line 61) | class DataError(RedisError): class PubSubError (line 65) | class PubSubError(RedisError): class WatchError (line 69) | class WatchError(RedisError): class NoScriptError (line 73) | class NoScriptError(ResponseError): class OutOfMemoryError (line 77) | class OutOfMemoryError(ResponseError): class ExecAbortError (line 89) | class ExecAbortError(ResponseError): class ReadOnlyError (line 93) | class ReadOnlyError(ResponseError): class NoPermissionError (line 97) | class NoPermissionError(ResponseError): method __init__ (line 98) | def __init__(self, *args, status_code: str = None): class ModuleError (line 103) | class ModuleError(ResponseError): class LockError (line 107) | class LockError(RedisError, ValueError): method __init__ (line 113) | def __init__(self, message=None, lock_name=None): class LockNotOwnedError (line 119) | class LockNotOwnedError(LockError): class ChildDeadlockedError (line 125) | class ChildDeadlockedError(Exception): class AuthenticationWrongNumberOfArgsError (line 131) | class AuthenticationWrongNumberOfArgsError(ResponseError): method __init__ (line 137) | def __init__(self, *args, status_code: str = None): class RedisClusterException (line 142) | class RedisClusterException(Exception): method __init__ (line 147) | def __init__(self, *args): method __repr__ (line 151) | def __repr__(self): class ClusterError (line 155) | class ClusterError(RedisError): method __init__ (line 161) | def __init__(self, *args, status_code: str = None): class ClusterDownError (line 166) | class ClusterDownError(ClusterError, ResponseError): method __init__ (line 177) | def __init__(self, resp, status_code: str = None): class AskError (line 184) | class AskError(ResponseError): method __init__ (line 200) | def __init__(self, resp, status_code: str = None): class TryAgainError (line 211) | class TryAgainError(ResponseError): method __init__ (line 218) | def __init__(self, *args, status_code: str = None, **kwargs): class ClusterCrossSlotError (line 222) | class ClusterCrossSlotError(ResponseError): method __init__ (line 231) | def __init__(self, *args, status_code: str = None): class MovedError (line 236) | class MovedError(AskError): class MasterDownError (line 246) | class MasterDownError(ClusterDownError): class SlotNotCoveredError (line 255) | class SlotNotCoveredError(RedisClusterException): class MaxConnectionsError (line 267) | class MaxConnectionsError(ConnectionError): class CrossSlotTransactionError (line 276) | class CrossSlotTransactionError(RedisClusterException): class InvalidPipelineStack (line 285) | class InvalidPipelineStack(RedisClusterException): class ExternalAuthProviderError (line 294) | class ExternalAuthProviderError(ConnectionError): class IncorrectPolicyType (line 302) | class IncorrectPolicyType(Exception): FILE: redis/http/http_client.py class HttpResponse (line 26) | class HttpResponse: method text (line 32) | def text(self, encoding: Optional[str] = None) -> str: method json (line 36) | def json(self) -> Any: method _get_encoding (line 39) | def _get_encoding(self) -> str: class HttpError (line 50) | class HttpError(Exception): method __init__ (line 51) | def __init__(self, status: int, url: str, message: Optional[str] = None): class HttpClient (line 58) | class HttpClient: method __init__ (line 63) | def __init__( method get (line 129) | def get( method delete (line 149) | def delete( method post (line 169) | def post( method put (line 191) | def put( method patch (line 213) | def patch( method request (line 236) | def request( method _make_request (line 299) | def _make_request( method _is_retryable_http_error (line 316) | def _is_retryable_http_error(self, error: Exception) -> bool: method _json_call (line 322) | def _json_call( method _prepare_body (line 348) | def _prepare_body( method _build_url (line 357) | def _build_url( method _prepare_headers (line 374) | def _prepare_headers( method _should_retry_status (line 406) | def _should_retry_status(self, status: int) -> bool: method _maybe_decompress (line 409) | def _maybe_decompress(self, content: bytes, headers: Mapping[str, str]... FILE: redis/lock.py class Lock (line 14) | class Lock: method __init__ (line 79) | def __init__( method register_scripts (line 157) | def register_scripts(self) -> None: method __enter__ (line 167) | def __enter__(self) -> "Lock": method __exit__ (line 175) | def __exit__( method acquire (line 190) | def acquire( method do_acquire (line 237) | def do_acquire(self, token: str) -> bool: method locked (line 247) | def locked(self) -> bool: method owned (line 253) | def owned(self) -> bool: method release (line 265) | def release(self) -> None: method do_release (line 278) | def do_release(self, expected_token: str) -> None: method extend (line 287) | def extend(self, additional_time: Number, replace_ttl: bool = False) -... method do_extend (line 304) | def do_extend(self, additional_time: Number, replace_ttl: bool) -> bool: method reacquire (line 319) | def reacquire(self) -> bool: method do_reacquire (line 332) | def do_reacquire(self) -> bool: FILE: redis/maint_notifications.py class MaintenanceState (line 24) | class MaintenanceState(enum.Enum): class EndpointType (line 30) | class EndpointType(enum.Enum): method __str__ (line 39) | def __str__(self): class MaintenanceNotification (line 51) | class MaintenanceNotification(ABC): method __init__ (line 64) | def __init__(self, id: int, ttl: int): method is_expired (line 77) | def is_expired(self) -> bool: method __repr__ (line 88) | def __repr__(self) -> str: method __eq__ (line 100) | def __eq__(self, other) -> bool: method __hash__ (line 117) | def __hash__(self) -> int: class NodeMovingNotification (line 130) | class NodeMovingNotification(MaintenanceNotification): method __init__ (line 136) | def __init__( method __repr__ (line 156) | def __repr__(self) -> str: method __eq__ (line 173) | def __eq__(self, other) -> bool: method __hash__ (line 186) | def __hash__(self) -> int: class NodeMigratingNotification (line 210) | class NodeMigratingNotification(MaintenanceNotification): method __init__ (line 222) | def __init__(self, id: int, ttl: int): method __repr__ (line 225) | def __repr__(self) -> str: method __eq__ (line 239) | def __eq__(self, other) -> bool: method __hash__ (line 248) | def __hash__(self) -> int: class NodeMigratedNotification (line 259) | class NodeMigratedNotification(MaintenanceNotification): method __init__ (line 272) | def __init__(self, id: int): method __repr__ (line 275) | def __repr__(self) -> str: method __eq__ (line 289) | def __eq__(self, other) -> bool: method __hash__ (line 298) | def __hash__(self) -> int: class NodeFailingOverNotification (line 309) | class NodeFailingOverNotification(MaintenanceNotification): method __init__ (line 321) | def __init__(self, id: int, ttl: int): method __repr__ (line 324) | def __repr__(self) -> str: method __eq__ (line 338) | def __eq__(self, other) -> bool: method __hash__ (line 347) | def __hash__(self) -> int: class NodeFailedOverNotification (line 358) | class NodeFailedOverNotification(MaintenanceNotification): method __init__ (line 371) | def __init__(self, id: int): method __repr__ (line 374) | def __repr__(self) -> str: method __eq__ (line 388) | def __eq__(self, other) -> bool: method __hash__ (line 397) | def __hash__(self) -> int: class OSSNodeMigratingNotification (line 408) | class OSSNodeMigratingNotification(MaintenanceNotification): method __init__ (line 422) | def __init__( method __repr__ (line 430) | def __repr__(self) -> str: method __eq__ (line 445) | def __eq__(self, other) -> bool: method __hash__ (line 454) | def __hash__(self) -> int: class OSSNodeMigratedNotification (line 465) | class OSSNodeMigratedNotification(MaintenanceNotification): method __init__ (line 497) | def __init__( method __repr__ (line 505) | def __repr__(self) -> str: method __eq__ (line 520) | def __eq__(self, other) -> bool: method __hash__ (line 529) | def __hash__(self) -> int: function _is_private_fqdn (line 540) | def _is_private_fqdn(host: str) -> bool: function add_debug_log_for_notification (line 591) | def add_debug_log_for_notification( class MaintNotificationsConfig (line 612) | class MaintNotificationsConfig: method __init__ (line 622) | def __init__( method __repr__ (line 656) | def __repr__(self) -> str: method is_relaxed_timeouts_enabled (line 666) | def is_relaxed_timeouts_enabled(self) -> bool: method get_endpoint_type (line 677) | def get_endpoint_type( class MaintNotificationsPoolHandler (line 732) | class MaintNotificationsPoolHandler: method __init__ (line 733) | def __init__( method set_connection (line 744) | def set_connection(self, connection: "MaintNotificationsAbstractConnec... method get_handler_for_connection (line 747) | def get_handler_for_connection(self): method remove_expired_notifications (line 757) | def remove_expired_notifications(self): method handle_notification (line 763) | def handle_notification(self, notification: MaintenanceNotification): method handle_node_moving_notification (line 771) | def handle_node_moving_notification(self, notification: NodeMovingNoti... method run_proactive_reconnect (line 871) | def run_proactive_reconnect(self, moving_address_src: Optional[str] = ... method handle_node_moved_notification (line 890) | def handle_node_moved_notification(self, notification: NodeMovingNotif... class MaintNotificationsConnectionHandler (line 942) | class MaintNotificationsConnectionHandler: method __init__ (line 953) | def __init__( method _get_pool_name (line 961) | def _get_pool_name(self) -> str: method handle_notification (line 974) | def handle_notification(self, notification: MaintenanceNotification): method handle_maintenance_start_notification (line 998) | def handle_maintenance_start_notification( method handle_maintenance_completed_notification (line 1028) | def handle_maintenance_completed_notification(self, **kwargs): class OSSMaintNotificationsHandler (line 1061) | class OSSMaintNotificationsHandler: method __init__ (line 1062) | def __init__( method get_handler_for_connection (line 1073) | def get_handler_for_connection(self): method remove_expired_notifications (line 1083) | def remove_expired_notifications(self): method handle_notification (line 1089) | def handle_notification(self, notification: MaintenanceNotification): method handle_oss_maintenance_completed_notification (line 1095) | def handle_oss_maintenance_completed_notification( FILE: redis/multidb/circuit.py class State (line 10) | class State(Enum): class CircuitBreaker (line 16) | class CircuitBreaker(ABC): method grace_period (line 19) | def grace_period(self) -> float: method grace_period (line 25) | def grace_period(self, grace_period: float): method state (line 30) | def state(self) -> State: method state (line 36) | def state(self, state: State): method database (line 42) | def database(self): method database (line 48) | def database(self, database): method on_state_changed (line 53) | def on_state_changed(self, cb: Callable[["CircuitBreaker", State, Stat... class BaseCircuitBreaker (line 58) | class BaseCircuitBreaker(CircuitBreaker): method __init__ (line 63) | def __init__(self, cb: pybreaker.CircuitBreaker): method grace_period (line 73) | def grace_period(self) -> float: method grace_period (line 77) | def grace_period(self, grace_period: float): method state (line 81) | def state(self) -> State: method state (line 85) | def state(self, state: State): method database (line 89) | def database(self): method database (line 93) | def database(self, database): method on_state_changed (line 97) | def on_state_changed(self, cb: Callable[["CircuitBreaker", State, Stat... class PBListener (line 102) | class PBListener(pybreaker.CircuitBreakerListener): method __init__ (line 105) | def __init__( method state_change (line 121) | def state_change(self, cb, old_state, new_state): class PBCircuitBreakerAdapter (line 129) | class PBCircuitBreakerAdapter(BaseCircuitBreaker): method __init__ (line 130) | def __init__(self, cb: pybreaker.CircuitBreaker): method on_state_changed (line 142) | def on_state_changed(self, cb: Callable[["CircuitBreaker", State, Stat... FILE: redis/multidb/client.py class MultiDBClient (line 36) | class MultiDBClient(RedisModuleCommands, CoreCommands): method __init__ (line 42) | def __init__(self, config: MultiDbConfig): method __del__ (line 84) | def __del__(self): method initialize (line 93) | def initialize(self): method get_databases (line 131) | def get_databases(self) -> Databases: method set_active_database (line 137) | def set_active_database(self, database: SyncDatabase) -> None: method add_database (line 165) | def add_database( method _change_active_database (line 221) | def _change_active_database( method remove_database (line 233) | def remove_database(self, database: Database): method update_database_weight (line 249) | def update_database_weight(self, database: SyncDatabase, weight: float): method add_failure_detector (line 268) | def add_failure_detector(self, failure_detector: FailureDetector): method add_health_check (line 274) | def add_health_check(self, healthcheck: HealthCheck): method execute_command (line 281) | def execute_command(self, *args, **options): method pipeline (line 290) | def pipeline(self): method transaction (line 296) | def transaction(self, func: Callable[["Pipeline"], None], *watches, **... method pubsub (line 305) | def pubsub(self, **kwargs): method _check_db_health (line 316) | async def _check_db_health(self, database: SyncDatabase) -> bool: method _check_databases_health (line 335) | async def _check_databases_health(self) -> dict[Database, bool]: method _perform_initial_health_check (line 369) | async def _perform_initial_health_check(self): method _on_circuit_state_change_callback (line 393) | def _on_circuit_state_change_callback( method close (line 414) | def close(self): function _half_open_circuit (line 433) | def _half_open_circuit(circuit: CircuitBreaker): class Pipeline (line 437) | class Pipeline(RedisModuleCommands, CoreCommands): method __init__ (line 444) | def __init__(self, client: MultiDBClient): method __enter__ (line 448) | def __enter__(self) -> "Pipeline": method __exit__ (line 451) | def __exit__(self, exc_type, exc_value, traceback): method __del__ (line 454) | def __del__(self): method __len__ (line 460) | def __len__(self) -> int: method __bool__ (line 463) | def __bool__(self) -> bool: method reset (line 467) | def reset(self) -> None: method close (line 470) | def close(self) -> None: method pipeline_execute_command (line 474) | def pipeline_execute_command(self, *args, **options) -> "Pipeline": method execute_command (line 489) | def execute_command(self, *args, **kwargs): method execute (line 493) | def execute(self) -> List[Any]: class PubSub (line 506) | class PubSub: method __init__ (line 511) | def __init__(self, client: MultiDBClient, **kwargs): method __enter__ (line 522) | def __enter__(self) -> "PubSub": method __del__ (line 525) | def __del__(self) -> None: method reset (line 534) | def reset(self) -> None: method close (line 537) | def close(self) -> None: method subscribed (line 541) | def subscribed(self) -> bool: method execute_command (line 544) | def execute_command(self, *args): method psubscribe (line 549) | def psubscribe(self, *args, **kwargs): method punsubscribe (line 561) | def punsubscribe(self, *args): method subscribe (line 570) | def subscribe(self, *args, **kwargs): method unsubscribe (line 582) | def unsubscribe(self, *args): method ssubscribe (line 589) | def ssubscribe(self, *args, **kwargs): method sunsubscribe (line 601) | def sunsubscribe(self, *args): method get_message (line 610) | def get_message( method get_sharded_message (line 626) | def get_sharded_message( method run_in_thread (line 642) | def run_in_thread( FILE: redis/multidb/command_executor.py class CommandExecutor (line 29) | class CommandExecutor(ABC): method auto_fallback_interval (line 32) | def auto_fallback_interval(self) -> float: method auto_fallback_interval (line 38) | def auto_fallback_interval(self, auto_fallback_interval: float) -> None: class BaseCommandExecutor (line 43) | class BaseCommandExecutor(CommandExecutor): method __init__ (line 44) | def __init__( method auto_fallback_interval (line 52) | def auto_fallback_interval(self) -> float: method auto_fallback_interval (line 56) | def auto_fallback_interval(self, auto_fallback_interval: int) -> None: method _schedule_next_fallback (line 59) | def _schedule_next_fallback(self) -> None: class SyncCommandExecutor (line 68) | class SyncCommandExecutor(CommandExecutor): method databases (line 71) | def databases(self) -> Databases: method failure_detectors (line 77) | def failure_detectors(self) -> List[FailureDetector]: method add_failure_detector (line 82) | def add_failure_detector(self, failure_detector: FailureDetector) -> N... method active_database (line 88) | def active_database(self) -> Optional[Database]: method active_database (line 94) | def active_database(self, value: Tuple[SyncDatabase, GeoFailoverReason... method active_pubsub (line 105) | def active_pubsub(self) -> Optional[PubSub]: method active_pubsub (line 111) | def active_pubsub(self, pubsub: PubSub) -> None: method failover_strategy_executor (line 117) | def failover_strategy_executor(self) -> FailoverStrategyExecutor: method command_retry (line 123) | def command_retry(self) -> Retry: method pubsub (line 128) | def pubsub(self, **kwargs): method execute_command (line 133) | def execute_command(self, *args, **options): method execute_pipeline (line 138) | def execute_pipeline(self, command_stack: tuple): method execute_transaction (line 143) | def execute_transaction( method execute_pubsub_method (line 150) | def execute_pubsub_method(self, method_name: str, *args, **kwargs): method execute_pubsub_run (line 155) | def execute_pubsub_run(self, sleep_time: float, **kwargs) -> Any: class DefaultCommandExecutor (line 160) | class DefaultCommandExecutor(SyncCommandExecutor, BaseCommandExecutor): method __init__ (line 161) | def __init__( method databases (line 204) | def databases(self) -> Databases: method failure_detectors (line 208) | def failure_detectors(self) -> List[FailureDetector]: method add_failure_detector (line 211) | def add_failure_detector(self, failure_detector: FailureDetector) -> N... method command_retry (line 215) | def command_retry(self) -> Retry: method active_database (line 219) | def active_database(self) -> Optional[SyncDatabase]: method active_database (line 223) | def active_database(self, value: Tuple[SyncDatabase, GeoFailoverReason... method active_pubsub (line 244) | def active_pubsub(self) -> Optional[PubSub]: method active_pubsub (line 248) | def active_pubsub(self, pubsub: PubSub) -> None: method failover_strategy_executor (line 252) | def failover_strategy_executor(self) -> FailoverStrategyExecutor: method execute_command (line 255) | def execute_command(self, *args, **options): method execute_pipeline (line 263) | def execute_pipeline(self, command_stack: tuple): method execute_transaction (line 275) | def execute_transaction( method pubsub (line 287) | def pubsub(self, **kwargs): method execute_pubsub_method (line 296) | def execute_pubsub_method(self, method_name: str, *args, **kwargs): method execute_pubsub_run (line 305) | def execute_pubsub_run(self, sleep_time, **kwargs) -> "PubSubWorkerThr... method _execute_with_failure_detection (line 311) | def _execute_with_failure_detection(self, callback: Callable, cmds: tu... method _on_command_fail (line 326) | def _on_command_fail(self, error, *args): method _check_active_database (line 329) | def _check_active_database(self): method _register_command_execution (line 347) | def _register_command_execution(self, cmd: tuple): method _setup_event_dispatcher (line 351) | def _setup_event_dispatcher(self): FILE: redis/multidb/config.py class InitialHealthCheck (line 46) | class InitialHealthCheck(Enum): function default_event_dispatcher (line 52) | def default_event_dispatcher() -> EventDispatcherInterface: class DatabaseConfig (line 57) | class DatabaseConfig: method default_circuit_breaker (line 90) | def default_circuit_breaker(self) -> CircuitBreaker: class MultiDbConfig (line 96) | class MultiDbConfig: method databases (line 164) | def databases(self) -> Databases: method default_failure_detectors (line 212) | def default_failure_detectors(self) -> List[FailureDetector]: method default_health_checks (line 221) | def default_health_checks(self) -> List[HealthCheck]: method default_failover_strategy (line 230) | def default_failover_strategy(self) -> FailoverStrategy: FILE: redis/multidb/database.py class AbstractDatabase (line 11) | class AbstractDatabase(ABC): method weight (line 14) | def weight(self) -> float: method weight (line 20) | def weight(self, weight: float): method health_check_url (line 26) | def health_check_url(self) -> Optional[str]: method health_check_url (line 32) | def health_check_url(self, health_check_url: Optional[str]): class BaseDatabase (line 37) | class BaseDatabase(AbstractDatabase): method __init__ (line 38) | def __init__( method weight (line 47) | def weight(self) -> float: method weight (line 51) | def weight(self, weight: float): method health_check_url (line 55) | def health_check_url(self) -> Optional[str]: method health_check_url (line 59) | def health_check_url(self, health_check_url: Optional[str]): class SyncDatabase (line 63) | class SyncDatabase(AbstractDatabase): method client (line 68) | def client(self) -> Union[redis.Redis, RedisCluster]: method client (line 74) | def client(self, client: Union[redis.Redis, RedisCluster]): method circuit (line 80) | def circuit(self) -> CircuitBreaker: method circuit (line 86) | def circuit(self, circuit: CircuitBreaker): class Database (line 94) | class Database(BaseDatabase, SyncDatabase): method __init__ (line 95) | def __init__( method client (line 117) | def client(self) -> Union[redis.Redis, RedisCluster]: method client (line 121) | def client(self, client: Union[redis.Redis, RedisCluster]): method circuit (line 125) | def circuit(self) -> CircuitBreaker: method circuit (line 129) | def circuit(self, circuit: CircuitBreaker): method __repr__ (line 132) | def __repr__(self): FILE: redis/multidb/event.py class ActiveDatabaseChanged (line 9) | class ActiveDatabaseChanged: method __init__ (line 14) | def __init__( method old_database (line 27) | def old_database(self) -> SyncDatabase: method new_database (line 31) | def new_database(self) -> SyncDatabase: method command_executor (line 35) | def command_executor(self): method kwargs (line 39) | def kwargs(self): class ResubscribeOnActiveDatabaseChanged (line 43) | class ResubscribeOnActiveDatabaseChanged(EventListenerInterface): method listen (line 48) | def listen(self, event: ActiveDatabaseChanged): class CloseConnectionOnActiveDatabaseChanged (line 62) | class CloseConnectionOnActiveDatabaseChanged(EventListenerInterface): method listen (line 67) | def listen(self, event: ActiveDatabaseChanged): class RegisterCommandFailure (line 79) | class RegisterCommandFailure(EventListenerInterface): method __init__ (line 84) | def __init__(self, failure_detectors: List[FailureDetector]): method listen (line 87) | def listen(self, event: OnCommandsFailEvent) -> None: FILE: redis/multidb/exception.py class NoValidDatabaseException (line 1) | class NoValidDatabaseException(Exception): class UnhealthyDatabaseException (line 5) | class UnhealthyDatabaseException(Exception): method __init__ (line 8) | def __init__(self, message, database, original_exception): class TemporaryUnavailableException (line 14) | class TemporaryUnavailableException(Exception): class InitialHealthCheckFailedError (line 20) | class InitialHealthCheckFailedError(Exception): FILE: redis/multidb/failover.py class FailoverStrategy (line 16) | class FailoverStrategy(ABC): method database (line 18) | def database(self) -> SyncDatabase: method set_databases (line 23) | def set_databases(self, databases: Databases) -> None: class FailoverStrategyExecutor (line 28) | class FailoverStrategyExecutor(ABC): method failover_attempts (line 31) | def failover_attempts(self) -> int: method failover_delay (line 37) | def failover_delay(self) -> float: method strategy (line 43) | def strategy(self) -> FailoverStrategy: method execute (line 48) | def execute(self) -> SyncDatabase: class WeightBasedFailoverStrategy (line 53) | class WeightBasedFailoverStrategy(FailoverStrategy): method __init__ (line 58) | def __init__(self) -> None: method database (line 61) | def database(self) -> SyncDatabase: method set_databases (line 68) | def set_databases(self, databases: Databases) -> None: class DefaultFailoverStrategyExecutor (line 72) | class DefaultFailoverStrategyExecutor(FailoverStrategyExecutor): method __init__ (line 77) | def __init__( method failover_attempts (line 90) | def failover_attempts(self) -> int: method failover_delay (line 94) | def failover_delay(self) -> float: method strategy (line 98) | def strategy(self) -> FailoverStrategy: method execute (line 101) | def execute(self) -> SyncDatabase: method _reset (line 123) | def _reset(self) -> None: FILE: redis/multidb/failure_detector.py class FailureDetector (line 14) | class FailureDetector(ABC): method register_failure (line 16) | def register_failure(self, exception: Exception, cmd: tuple) -> None: method register_command_execution (line 21) | def register_command_execution(self, cmd: tuple) -> None: method set_command_executor (line 26) | def set_command_executor(self, command_executor) -> None: class CommandFailureDetector (line 31) | class CommandFailureDetector(FailureDetector): method __init__ (line 36) | def __init__( method register_failure (line 68) | def register_failure(self, exception: Exception, cmd: tuple) -> None: method set_command_executor (line 78) | def set_command_executor(self, command_executor) -> None: method register_command_execution (line 81) | def register_command_execution(self, cmd: tuple) -> None: method _check_threshold (line 88) | def _check_threshold(self): method _reset (line 95) | def _reset(self) -> None: FILE: redis/observability/attributes.py class ConnectionState (line 67) | class ConnectionState(Enum): class PubSubDirection (line 72) | class PubSubDirection(Enum): class CSCResult (line 77) | class CSCResult(Enum): class CSCReason (line 82) | class CSCReason(Enum): class GeoFailoverReason (line 87) | class GeoFailoverReason(Enum): class AttributeBuilder (line 92) | class AttributeBuilder: method build_base_attributes (line 98) | def build_base_attributes( method build_operation_attributes (line 131) | def build_operation_attributes( method build_connection_attributes (line 181) | def build_connection_attributes( method build_error_attributes (line 216) | def build_error_attributes( method build_pubsub_message_attributes (line 254) | def build_pubsub_message_attributes( method build_streaming_attributes (line 282) | def build_streaming_attributes( method build_csc_attributes (line 309) | def build_csc_attributes( method build_geo_failover_attributes (line 339) | def build_geo_failover_attributes( method build_pool_name (line 364) | def build_pool_name( function get_pool_name (line 383) | def get_pool_name(pool: Union["ConnectionPoolInterface", "ConnectionPool... function get_db_name (line 413) | def get_db_name(database: Union["SyncDatabase", "AsyncDatabase"]): FILE: redis/observability/config.py class MetricGroup (line 12) | class MetricGroup(IntFlag): class TelemetryOption (line 24) | class TelemetryOption(IntFlag): function default_operation_duration_buckets (line 30) | def default_operation_duration_buckets() -> Sequence[float]: function default_histogram_buckets (line 49) | def default_histogram_buckets() -> Sequence[float]: class OTelConfig (line 53) | class OTelConfig: method __init__ (line 105) | def __init__( method is_enabled (line 157) | def is_enabled(self) -> bool: method should_track_command (line 161) | def should_track_command(self, command_name: str) -> bool: method __repr__ (line 180) | def __repr__(self) -> str: FILE: redis/observability/metrics.py class CloseReason (line 48) | class CloseReason(Enum): class RedisMetricsCollector (line 66) | class RedisMetricsCollector: method __init__ (line 82) | def __init__(self, meter: Meter, config: OTelConfig): method _init_resiliency_metrics (line 118) | def _init_resiliency_metrics(self) -> None: method _init_connection_basic_metrics (line 138) | def _init_connection_basic_metrics(self) -> None: method _init_connection_advanced_metrics (line 172) | def _init_connection_advanced_metrics(self) -> None: method _init_command_metrics (line 193) | def _init_command_metrics(self) -> None: method _init_pubsub_metrics (line 202) | def _init_pubsub_metrics(self) -> None: method _init_streaming_metrics (line 210) | def _init_streaming_metrics(self) -> None: method _init_csc_metrics (line 219) | def _init_csc_metrics(self) -> None: method record_error_count (line 241) | def record_error_count( method record_maint_notification_count (line 287) | def record_maint_notification_count( method record_geo_failover (line 323) | def record_geo_failover( method record_connection_count (line 349) | def record_connection_count( method init_connection_count (line 377) | def init_connection_count( method init_csc_items (line 401) | def init_csc_items( method record_connection_timeout (line 421) | def record_connection_timeout(self, pool_name: str) -> None: method record_connection_create_time (line 434) | def record_connection_create_time( method record_connection_wait_time (line 454) | def record_connection_wait_time( method record_operation_duration (line 479) | def record_operation_duration( method record_connection_closed (line 540) | def record_connection_closed( method record_connection_relaxed_timeout (line 567) | def record_connection_relaxed_timeout( method record_connection_handoff (line 588) | def record_connection_handoff( method record_pubsub_message (line 606) | def record_pubsub_message( method record_streaming_lag (line 637) | def record_streaming_lag( method record_csc_request (line 664) | def record_csc_request( method record_csc_eviction (line 680) | def record_csc_eviction( method record_csc_network_saved (line 698) | def record_csc_network_saved( method monotonic_time (line 717) | def monotonic_time() -> float: method __repr__ (line 726) | def __repr__(self) -> str: FILE: redis/observability/providers.py class OTelProviderManager (line 43) | class OTelProviderManager: method __init__ (line 56) | def __init__(self, config: OTelConfig): method get_meter_provider (line 60) | def get_meter_provider(self) -> Optional[MeterProvider]: method shutdown (line 125) | def shutdown(self, timeout_millis: int = 30000) -> bool: method force_flush (line 143) | def force_flush(self, timeout_millis: int = 30000) -> bool: method __enter__ (line 169) | def __enter__(self): method __exit__ (line 173) | def __exit__(self, _exc_type, _exc_val, _exc_tb): method __repr__ (line 177) | def __repr__(self) -> str: class ObservabilityInstance (line 184) | class ObservabilityInstance: method __init__ (line 207) | def __init__(self): method init (line 210) | def init(self, config: OTelConfig) -> "ObservabilityInstance": method is_enabled (line 243) | def is_enabled(self) -> bool: method get_provider_manager (line 260) | def get_provider_manager(self) -> Optional[OTelProviderManager]: method shutdown (line 275) | def shutdown(self, timeout_millis: int = 30000) -> bool: method force_flush (line 303) | def force_flush(self, timeout_millis: int = 30000) -> bool: function get_observability_instance (line 334) | def get_observability_instance() -> ObservabilityInstance: function reset_observability_instance (line 356) | def reset_observability_instance() -> None: FILE: redis/observability/recorder.py function record_operation_duration (line 55) | def record_operation_duration( function record_connection_create_time (line 116) | def record_connection_create_time( function record_connection_count (line 149) | def record_connection_count( function init_connection_count (line 199) | def init_connection_count() -> None: function register_pools_connection_count (line 230) | def register_pools_connection_count( function record_connection_timeout (line 259) | def record_connection_timeout( function record_connection_wait_time (line 286) | def record_connection_wait_time( function record_connection_closed (line 318) | def record_connection_closed( function record_connection_relaxed_timeout (line 348) | def record_connection_relaxed_timeout( function record_connection_handoff (line 381) | def record_connection_handoff( function record_error_count (line 408) | def record_error_count( function record_pubsub_message (line 453) | def record_pubsub_message( function record_streaming_lag (line 498) | def record_streaming_lag( function record_streaming_lag_from_response (line 542) | def record_streaming_lag_from_response( function record_maint_notification_count (line 616) | def record_maint_notification_count( function record_csc_request (line 655) | def record_csc_request( function init_csc_items (line 679) | def init_csc_items() -> None: function register_csc_items_callback (line 708) | def register_csc_items_callback( function record_csc_eviction (line 744) | def record_csc_eviction( function record_csc_network_saved (line 771) | def record_csc_network_saved( function record_geo_failover (line 795) | def record_geo_failover( function _get_or_create_collector (line 825) | def _get_or_create_collector() -> Optional[RedisMetricsCollector]: function _get_config (line 852) | def _get_config() -> Optional["OTelConfig"]: function reset_collector (line 868) | def reset_collector() -> None: function is_enabled (line 876) | def is_enabled() -> bool: FILE: redis/observability/registry.py class ObservablesRegistry (line 15) | class ObservablesRegistry: method __init__ (line 20) | def __init__(self, registry: Dict[str, List[Callable[[], List[Any]]]] ... method register (line 24) | def register(self, name: str, callback: Callable[[], List[Any]]) -> None: method get (line 31) | def get(self, name: str) -> List[Callable[[], List[Any]]]: method clear (line 38) | def clear(self) -> None: method __len__ (line 45) | def __len__(self) -> int: function get_observables_registry_instance (line 56) | def get_observables_registry_instance() -> ObservablesRegistry: FILE: redis/ocsp.py function _verify_response (line 22) | def _verify_response(issuer_cert, ocsp_response): function _check_certificate (line 50) | def _check_certificate(issuer_cert, ocsp_bytes, validate=True): function _get_certificates (line 109) | def _get_certificates(certs, issuer_cert, responder_name, responder_hash): function _get_pubkey_hash (line 126) | def _get_pubkey_hash(certificate): function ocsp_staple_verifier (line 142) | def ocsp_staple_verifier(con, ocsp_bytes, expected=None): class OCSPVerifier (line 170) | class OCSPVerifier: method __init__ (line 178) | def __init__(self, sock, host, port, ca_certs=None): method _bin2ascii (line 184) | def _bin2ascii(self, der): method components_from_socket (line 191) | def components_from_socket(self): method _certificate_components (line 203) | def _certificate_components(self, cert): method components_from_direct_connection (line 243) | def components_from_direct_connection(self): method build_certificate_url (line 253) | def build_certificate_url(self, server, cert, issuer_cert): method check_certificate (line 269) | def check_certificate(self, server, cert, issuer_url): method is_valid (line 290) | def is_valid(self): FILE: redis/retry.py class AbstractRetry (line 26) | class AbstractRetry(Generic[E], abc.ABC): method __init__ (line 31) | def __init__( method __eq__ (line 49) | def __eq__(self, other: Any) -> bool: method __hash__ (line 52) | def __hash__(self) -> int: method update_supported_errors (line 55) | def update_supported_errors(self, specified_errors: Iterable[Type[E]])... method get_retries (line 63) | def get_retries(self) -> int: method update_retries (line 69) | def update_retries(self, value: int) -> None: class Retry (line 76) | class Retry(AbstractRetry[Exception]): method __init__ (line 79) | def __init__( method __eq__ (line 91) | def __eq__(self, other: Any) -> bool: method call_with_retry (line 101) | def call_with_retry( FILE: redis/sentinel.py class MasterNotFoundError (line 17) | class MasterNotFoundError(ConnectionError): class SlaveNotFoundError (line 21) | class SlaveNotFoundError(ConnectionError): class SentinelManagedConnection (line 25) | class SentinelManagedConnection(Connection): method __init__ (line 26) | def __init__(self, **kwargs): method __repr__ (line 30) | def __repr__(self): method connect_to (line 41) | def connect_to(self, address): method _connect_retry (line 49) | def _connect_retry(self): method connect (line 62) | def connect(self): method read_response (line 65) | def read_response( class SentinelManagedSSLConnection (line 92) | class SentinelManagedSSLConnection(SentinelManagedConnection, SSLConnect... class SentinelConnectionPoolProxy (line 96) | class SentinelConnectionPoolProxy: method __init__ (line 97) | def __init__( method reset (line 112) | def reset(self): method get_master_address (line 116) | def get_master_address(self): method rotate_slaves (line 127) | def rotate_slaves(self): class SentinelConnectionPool (line 144) | class SentinelConnectionPool(ConnectionPool): method __init__ (line 152) | def __init__(self, service_name, sentinel_manager, **kwargs): method __repr__ (line 175) | def __repr__(self): method reset (line 182) | def reset(self): method master_address (line 187) | def master_address(self): method owns_connection (line 190) | def owns_connection(self, connection): method get_master_address (line 197) | def get_master_address(self): method rotate_slaves (line 200) | def rotate_slaves(self): class Sentinel (line 205) | class Sentinel(SentinelCommands): method __init__ (line 234) | def __init__( method execute_command (line 258) | def execute_command(self, *args, **kwargs): method __repr__ (line 286) | def __repr__(self): method check_master_state (line 297) | def check_master_state(self, state, service_name): method discover_master (line 305) | def discover_master(self, service_name): method filter_slaves (line 340) | def filter_slaves(self, slaves): method discover_slaves (line 349) | def discover_slaves(self, service_name): method master_for (line 361) | def master_for( method slave_for (line 399) | def slave_for( FILE: redis/typing.py class AsyncClientProtocol (line 25) | class AsyncClientProtocol(Protocol): class SyncClientProtocol (line 35) | class SyncClientProtocol(Protocol): class CommandsProtocol (line 109) | class CommandsProtocol(Protocol): method execute_command (line 112) | def execute_command(self, *args, **options) -> ResponseT: ... class ClusterCommandsProtocol (line 115) | class ClusterCommandsProtocol(CommandsProtocol): FILE: redis/utils.py function from_url (line 47) | def from_url(url: str, **kwargs: Any) -> "Redis": function pipeline (line 60) | def pipeline(redis_obj): function str_if_bytes (line 66) | def str_if_bytes(value: Union[str, bytes]) -> str: function safe_str (line 72) | def safe_str(value): function dict_merge (line 76) | def dict_merge(*dicts: Mapping[str, Any]) -> Dict[str, Any]: function list_keys_to_dict (line 90) | def list_keys_to_dict(key_list, callback): function merge_result (line 94) | def merge_result(command, res): function warn_deprecated (line 112) | def warn_deprecated(name, reason="", version="", stacklevel=2): function deprecated_function (line 123) | def deprecated_function(reason="", version="", name=None): function warn_deprecated_arg_usage (line 149) | def warn_deprecated_arg_usage( function _get_filterable_args (line 172) | def _get_filterable_args( function deprecated_args (line 189) | def deprecated_args( function _set_info_logger (line 243) | def _set_info_logger(): function check_protocol_version (line 256) | def check_protocol_version( function get_lib_version (line 269) | def get_lib_version(): function format_error_message (line 277) | def format_error_message(host_error: str, exception: BaseException) -> str: function compare_versions (line 289) | def compare_versions(version1: str, version2: str) -> int: function ensure_string (line 319) | def ensure_string(key): function extract_expire_flags (line 328) | def extract_expire_flags( function truncate_text (line 365) | def truncate_text(txt, max_length=100): function dummy_fail (line 371) | def dummy_fail(): function dummy_fail_async (line 378) | async def dummy_fail_async(): function experimental (line 385) | def experimental(cls): function warn_experimental (line 404) | def warn_experimental(name, stacklevel=2): function experimental_method (line 415) | def experimental_method() -> Callable[[C], C]: function warn_experimental_arg_usage (line 441) | def warn_experimental_arg_usage( function experimental_args (line 455) | def experimental_args( FILE: tasks.py function devenv (line 13) | def devenv(c, endpoints="all"): function build_docs (line 21) | def build_docs(c): function linters (line 28) | def linters(c): function linters_fix (line 35) | def linters_fix(c): function all_tests (line 41) | def all_tests(c): function tests (line 48) | def tests(c, uvloop=False, protocol=2, profile=False): function standalone_tests (line 56) | def standalone_tests( function cluster_tests (line 75) | def cluster_tests(c, uvloop=False, protocol=2, profile=False): function clean (line 91) | def clean(c): function package (line 101) | def package(c): FILE: tests/conftest.py class BooleanOptionalAction (line 47) | class BooleanOptionalAction(argparse.Action): method __init__ (line 48) | def __init__( method __call__ (line 82) | def __call__(self, parser, namespace, values, option_string=None): method format_usage (line 86) | def format_usage(self): function enable_tracemalloc (line 91) | def enable_tracemalloc(): function pytest_addoption (line 105) | def pytest_addoption(parser): function _get_info (line 174) | def _get_info(redis_url): function pytest_sessionstart (line 186) | def pytest_sessionstart(session): function wait_for_cluster_creation (line 239) | def wait_for_cluster_creation(redis_url, cluster_nodes, timeout=60): function skip_if_server_version_lt (line 270) | def skip_if_server_version_lt(min_version: str) -> _TestDecorator: function skip_if_server_version_gte (line 276) | def skip_if_server_version_gte(min_version: str) -> _TestDecorator: function skip_unless_arch_bits (line 282) | def skip_unless_arch_bits(arch_bits: int) -> _TestDecorator: function skip_ifmodversion_lt (line 289) | def skip_ifmodversion_lt(min_version: str, module_name: str): function skip_if_redis_enterprise (line 309) | def skip_if_redis_enterprise() -> _TestDecorator: function skip_ifnot_redis_enterprise (line 314) | def skip_ifnot_redis_enterprise() -> _TestDecorator: function skip_if_nocryptography (line 319) | def skip_if_nocryptography() -> _TestDecorator: function skip_if_cryptography (line 330) | def skip_if_cryptography() -> _TestDecorator: function skip_if_resp_version (line 339) | def skip_if_resp_version(resp_version) -> _TestDecorator: function skip_if_hiredis_parser (line 344) | def skip_if_hiredis_parser() -> _TestDecorator: function _get_client (line 353) | def _get_client( function cluster_teardown (line 414) | def cluster_teardown(client, flushdb): function r (line 427) | def r(request): function stack_url (line 433) | def stack_url(request): function stack_r (line 438) | def stack_r(request, stack_url): function decoded_r (line 444) | def decoded_r(request): function r_timeout (line 450) | def r_timeout(request): function r2 (line 456) | def r2(request): function sslclient (line 463) | def sslclient(request): function sentinel_setup (line 469) | def sentinel_setup(request): function master (line 496) | def master(request, sentinel_setup): function _gen_cluster_mock_resp (line 503) | def _gen_cluster_mock_resp(r, response): function mock_cluster_resp_ok (line 515) | def mock_cluster_resp_ok(request, **kwargs): function mock_cluster_resp_int (line 521) | def mock_cluster_resp_int(request, **kwargs): function mock_cluster_resp_info (line 527) | def mock_cluster_resp_info(request, **kwargs): function mock_cluster_resp_nodes (line 541) | def mock_cluster_resp_nodes(request, **kwargs): function mock_cluster_resp_slaves (line 565) | def mock_cluster_resp_slaves(request, **kwargs): function master_host (line 576) | def master_host(request): function cache_conf (line 583) | def cache_conf() -> CacheConfig: function mock_cache_factory (line 588) | def mock_cache_factory() -> CacheFactoryInterface: function mock_cache (line 594) | def mock_cache() -> CacheInterface: function mock_connection (line 600) | def mock_connection() -> ConnectionInterface: function mock_ed (line 609) | def mock_ed() -> EventDispatcherInterface: function cache_key (line 615) | def cache_key(request) -> CacheKey: function mock_identity_provider (line 622) | def mock_identity_provider() -> IdentityProviderInterface: function get_credential_provider (line 632) | def get_credential_provider(request) -> CredentialProvider: function credential_provider (line 647) | def credential_provider(request) -> CredentialProvider: function get_endpoint (line 651) | def get_endpoint(endpoint_name: str): function wait_for_command (line 668) | def wait_for_command(client, monitor, command, key=None): function is_resp2_connection (line 689) | def is_resp2_connection(r): function get_protocol_version (line 697) | def get_protocol_version(r): function assert_resp_response (line 704) | def assert_resp_response(r, response, resp2_expected, resp3_expected): function assert_resp_response_in (line 712) | def assert_resp_response_in(r, response, resp2_expected, resp3_expected): FILE: tests/entraid_utils.py class AuthType (line 28) | class AuthType(Enum): function identity_provider (line 34) | def identity_provider(request) -> IdentityProviderInterface: function get_identity_provider_config (line 55) | def get_identity_provider_config( function _get_managed_identity_provider_config (line 78) | def _get_managed_identity_provider_config(request) -> ManagedIdentityPro... function _get_service_principal_provider_config (line 99) | def _get_service_principal_provider_config( function _get_default_azure_credential_provider_config (line 130) | def _get_default_azure_credential_provider_config( function get_entra_id_credentials_provider (line 150) | def get_entra_id_credentials_provider(request, cred_provider_kwargs): FILE: tests/helpers.py function wait_for_condition (line 8) | def wait_for_condition( function get_expected_command_policies (line 52) | def get_expected_command_policies(changes_in_defaults={}): FILE: tests/maint_notifications/proxy_server_helpers.py class RespTranslator (line 7) | class RespTranslator: method re_cluster_maint_notification_to_resp (line 11) | def re_cluster_maint_notification_to_resp(txt: str) -> str: method oss_maint_notification_to_resp (line 30) | def oss_maint_notification_to_resp(txt: str) -> str: class SlotsRange (line 79) | class SlotsRange: class ProxyInterceptorHelper (line 86) | class ProxyInterceptorHelper: method __init__ (line 89) | def __init__(self, server_url: str = "http://localhost:4000"): method cleanup_interceptors (line 95) | def cleanup_interceptors(self, *names: str): method set_cluster_slots (line 107) | def set_cluster_slots( method get_stats (line 176) | def get_stats(self) -> dict: method get_connections (line 194) | def get_connections(self) -> dict: method send_notification (line 211) | def send_notification( method _add_interceptor (line 248) | def _add_interceptor( method _reset_interceptor (line 287) | def _reset_interceptor(self, name: str): FILE: tests/maint_notifications/test_cluster_maint_notifications_handling.py class TestRespTranslatorHelper (line 39) | class TestRespTranslatorHelper: method test_oss_maint_notification_to_resp (line 40) | def test_oss_maint_notification_to_resp(self): class TestClusterMaintNotificationsBase (line 63) | class TestClusterMaintNotificationsBase: method _create_cluster_client (line 66) | def _create_cluster_client( class TestClusterMaintNotificationsConfig (line 94) | class TestClusterMaintNotificationsConfig(TestClusterMaintNotificationsB... method _validate_maint_config_on_nodes_manager (line 97) | def _validate_maint_config_on_nodes_manager( method _validate_maint_config_on_nodes (line 118) | def _validate_maint_config_on_nodes( method test_maint_notifications_config (line 149) | def test_maint_notifications_config(self): method test_config_propagation_to_new_nodes (line 174) | def test_config_propagation_to_new_nodes(self): method test_config_with_blocking_connection_pool (line 200) | def test_config_with_blocking_connection_pool(self): method test_config_with_cache_enabled (line 228) | def test_config_with_cache_enabled(self): method test_none_config_default_behavior (line 252) | def test_none_config_default_behavior(self): method test_none_config_default_behavior_for_protocol_2 (line 272) | def test_none_config_default_behavior_for_protocol_2(self): method test_config_with_enabled_false (line 293) | def test_config_with_enabled_false(self): method test_config_with_pipeline_operations (line 317) | def test_config_with_pipeline_operations(self): class TestClusterMaintNotificationsHandler (line 348) | class TestClusterMaintNotificationsHandler(TestClusterMaintNotifications... method _validate_connection_handlers (line 351) | def _validate_connection_handlers( method test_oss_maint_handler_propagation (line 398) | def test_oss_maint_handler_propagation(self): method test_oss_maint_handler_propagation_cache_enabled (line 415) | def test_oss_maint_handler_propagation_cache_enabled(self): class TestClusterMaintNotificationsHandlingBase (line 432) | class TestClusterMaintNotificationsHandlingBase(TestClusterMaintNotifica... method setup_method (line 435) | def setup_method(self): method teardown_method (line 446) | def teardown_method(self): class ConnectionStateExpectation (line 454) | class ConnectionStateExpectation: class TestClusterMaintNotificationsHandling (line 463) | class TestClusterMaintNotificationsHandling(TestClusterMaintNotification... method _warm_up_connection_pools (line 466) | def _warm_up_connection_pools( method _get_expected_node_state (line 481) | def _get_expected_node_state( method _validate_connections_states (line 490) | def _validate_connections_states( method _validate_removed_node_connections (line 525) | def _validate_removed_node_connections(self, node): method test_receive_smigrating_notification (line 537) | def test_receive_smigrating_notification(self): method test_receive_smigrating_with_disabled_relaxed_timeout (line 587) | def test_receive_smigrating_with_disabled_relaxed_timeout(self): method test_receive_smigrated_notification (line 621) | def test_receive_smigrated_notification(self): method test_receive_smigrated_notification_with_two_nodes (line 650) | def test_receive_smigrated_notification_with_two_nodes(self): method test_smigrating_smigrated_on_two_nodes_without_node_replacement (line 679) | def test_smigrating_smigrated_on_two_nodes_without_node_replacement(se... method test_smigrating_smigrated_on_two_nodes_with_node_replacements (line 829) | def test_smigrating_smigrated_on_two_nodes_with_node_replacements(self): method test_smigrating_smigrated_on_the_same_node_two_slot_ranges (line 971) | def test_smigrating_smigrated_on_the_same_node_two_slot_ranges( method test_smigrating_smigrated_with_sharded_pubsub (line 1032) | def test_smigrating_smigrated_with_sharded_pubsub( method test_smigrating_smigrated_with_sharded_pubsub_and_reconnect_after_smigrated_expires (line 1146) | def test_smigrating_smigrated_with_sharded_pubsub_and_reconnect_after_... method test_smigrating_smigrated_with_std_pubsub (line 1254) | def test_smigrating_smigrated_with_std_pubsub( FILE: tests/maint_notifications/test_maint_notifications.py class TestMaintenanceNotification (line 24) | class TestMaintenanceNotification: method test_abstract_class_cannot_be_instantiated (line 27) | def test_abstract_class_cannot_be_instantiated(self): method test_init_through_subclass (line 33) | def test_init_through_subclass(self): method test_is_expired (line 51) | def test_is_expired(self, current_time, expected_expired_state): method test_is_expired_exact_boundary (line 61) | def test_is_expired_exact_boundary(self): class TestNodeMovingNotification (line 75) | class TestNodeMovingNotification: method test_init (line 78) | def test_init(self): method test_repr (line 90) | def test_repr(self): method test_equality_none_id_none_port (line 107) | def test_equality_none_id_none_port(self): method test_equality_same_id_host_port (line 117) | def test_equality_same_id_host_port(self): method test_equality_same_id_different_host (line 127) | def test_equality_same_id_different_host(self): method test_equality_same_id_different_port (line 137) | def test_equality_same_id_different_port(self): method test_equality_different_id (line 147) | def test_equality_different_id(self): method test_equality_different_type (line 157) | def test_equality_different_type(self): method test_hash_same_id_host_port (line 165) | def test_hash_same_id_host_port(self): method test_hash_different_host (line 175) | def test_hash_different_host(self): method test_hash_different_port (line 185) | def test_hash_different_port(self): method test_hash_different_id (line 195) | def test_hash_different_id(self): method test_set_functionality (line 205) | def test_set_functionality(self): class TestNodeMigratingNotification (line 226) | class TestNodeMigratingNotification: method test_init (line 229) | def test_init(self): method test_repr (line 237) | def test_repr(self): method test_equality_and_hash (line 250) | def test_equality_and_hash(self): class TestNodeMigratedNotification (line 264) | class TestNodeMigratedNotification: method test_init (line 267) | def test_init(self): method test_default_ttl (line 275) | def test_default_ttl(self): method test_repr (line 281) | def test_repr(self): method test_equality_and_hash (line 294) | def test_equality_and_hash(self): class TestNodeFailingOverNotification (line 306) | class TestNodeFailingOverNotification: method test_init (line 309) | def test_init(self): method test_repr (line 317) | def test_repr(self): method test_equality_and_hash (line 330) | def test_equality_and_hash(self): class TestNodeFailedOverNotification (line 344) | class TestNodeFailedOverNotification: method test_init (line 347) | def test_init(self): method test_default_ttl (line 355) | def test_default_ttl(self): method test_repr (line 361) | def test_repr(self): method test_equality_and_hash (line 374) | def test_equality_and_hash(self): class TestOSSNodeMigratingNotification (line 386) | class TestOSSNodeMigratingNotification: method test_init_with_defaults (line 389) | def test_init_with_defaults(self): method test_init_with_all_parameters (line 398) | def test_init_with_all_parameters(self): method test_default_ttl (line 411) | def test_default_ttl(self): method test_repr (line 417) | def test_repr(self): method test_equality_same_id_and_type (line 433) | def test_equality_same_id_and_type(self): method test_equality_different_id (line 446) | def test_equality_different_id(self): method test_equality_different_type (line 452) | def test_equality_different_type(self): method test_hash_same_id_and_type (line 458) | def test_hash_same_id_and_type(self): method test_hash_different_id (line 471) | def test_hash_different_id(self): method test_in_set (line 477) | def test_in_set(self): class TestOSSNodeMigratedNotification (line 490) | class TestOSSNodeMigratedNotification: method test_init_with_defaults (line 493) | def test_init_with_defaults(self): method test_init_with_all_parameters (line 505) | def test_init_with_all_parameters(self): method test_default_ttl (line 523) | def test_default_ttl(self): method test_repr (line 532) | def test_repr(self): method test_equality_same_id_and_type (line 549) | def test_equality_same_id_and_type(self): method test_equality_different_id (line 562) | def test_equality_different_id(self): method test_equality_different_type (line 574) | def test_equality_different_type(self): method test_hash_same_id_and_type (line 583) | def test_hash_same_id_and_type(self): method test_hash_different_id (line 596) | def test_hash_different_id(self): method test_in_set (line 608) | def test_in_set(self): class TestMaintNotificationsConfig (line 633) | class TestMaintNotificationsConfig: method test_init_defaults (line 636) | def test_init_defaults(self): method test_init_custom_values (line 643) | def test_init_custom_values(self): method test_repr (line 652) | def test_repr(self): method test_is_relaxed_timeouts_enabled_true (line 663) | def test_is_relaxed_timeouts_enabled_true(self): method test_is_relaxed_timeouts_enabled_false (line 668) | def test_is_relaxed_timeouts_enabled_false(self): method test_is_relaxed_timeouts_enabled_zero (line 673) | def test_is_relaxed_timeouts_enabled_zero(self): method test_is_relaxed_timeouts_enabled_none (line 678) | def test_is_relaxed_timeouts_enabled_none(self): method test_relaxed_timeout_none_is_saved_as_none (line 683) | def test_relaxed_timeout_none_is_saved_as_none(self): class TestMaintNotificationsPoolHandler (line 689) | class TestMaintNotificationsPoolHandler: method setup_method (line 692) | def setup_method(self): method test_init (line 703) | def test_init(self): method test_remove_expired_notifications (line 710) | def test_remove_expired_notifications(self): method test_handle_notification_node_moving (line 738) | def test_handle_notification_node_moving(self): method test_handle_notification_unknown_type (line 750) | def test_handle_notification_unknown_type(self): method test_handle_node_moving_notification_disabled_config (line 759) | def test_handle_node_moving_notification_disabled_config(self): method test_handle_node_moving_notification_already_processed (line 771) | def test_handle_node_moving_notification_already_processed(self): method test_handle_node_moving_notification_success (line 781) | def test_handle_node_moving_notification_success(self): method test_handle_node_moving_notification_with_no_host_and_port (line 807) | def test_handle_node_moving_notification_with_no_host_and_port(self): method test_handle_node_moved_notification (line 843) | def test_handle_node_moved_notification(self): class TestMaintNotificationsConnectionHandler (line 855) | class TestMaintNotificationsConnectionHandler: method setup_method (line 858) | def setup_method(self): method test_init (line 868) | def test_init(self): method test_handle_notification_migrating (line 873) | def test_handle_notification_migrating(self): method test_handle_notification_migrated (line 885) | def test_handle_notification_migrated(self): method test_handle_notification_failing_over (line 895) | def test_handle_notification_failing_over(self): method test_handle_notification_failed_over (line 907) | def test_handle_notification_failed_over(self): method test_handle_notification_unknown_type (line 917) | def test_handle_notification_unknown_type(self): method test_handle_maintenance_start_notification_disabled (line 926) | def test_handle_maintenance_start_notification_disabled(self): method test_handle_maintenance_start_notification_moving_state (line 938) | def test_handle_maintenance_start_notification_moving_state(self): method test_handle_maintenance_start_notification_success (line 948) | def test_handle_maintenance_start_notification_success(self): method test_handle_maintenance_completed_notification_disabled (line 962) | def test_handle_maintenance_completed_notification_disabled(self): method test_handle_maintenance_completed_notification_moving_state (line 971) | def test_handle_maintenance_completed_notification_moving_state(self): method test_handle_maintenance_completed_notification_success (line 979) | def test_handle_maintenance_completed_notification_success(self): class TestEndpointType (line 993) | class TestEndpointType: method test_endpoint_type_constants (line 996) | def test_endpoint_type_constants(self): class TestMaintNotificationsConfigEndpointType (line 1005) | class TestMaintNotificationsConfigEndpointType: method setup_method (line 1008) | def setup_method(self): method test_config_validation_valid_endpoint_types (line 1037) | def test_config_validation_valid_endpoint_types(self): method test_config_validation_none_endpoint_type (line 1043) | def test_config_validation_none_endpoint_type(self): method test_endpoint_type_detection_ip_addresses (line 1048) | def test_endpoint_type_detection_ip_addresses(self): method test_endpoint_type_detection_fqdn_with_resolved_ip (line 1073) | def test_endpoint_type_detection_fqdn_with_resolved_ip(self): method test_endpoint_type_detection_fqdn_heuristics (line 1119) | def test_endpoint_type_detection_fqdn_heuristics(self): method test_endpoint_type_override (line 1142) | def test_endpoint_type_override(self): class TestMaintNotificationsMetricsRecording (line 1156) | class TestMaintNotificationsMetricsRecording: method test_connection_handler_calls_record_maint_notification_count (line 1163) | def test_connection_handler_calls_record_maint_notification_count( method test_connection_handler_calls_record_connection_relaxed_timeout_on_start (line 1188) | def test_connection_handler_calls_record_connection_relaxed_timeout_on... method test_connection_handler_calls_record_connection_relaxed_timeout_on_complete (line 1212) | def test_connection_handler_calls_record_connection_relaxed_timeout_on... method test_connection_handler_no_relaxed_timeout_call_when_disabled (line 1235) | def test_connection_handler_no_relaxed_timeout_call_when_disabled( method test_pool_handler_calls_record_connection_handoff (line 1253) | def test_pool_handler_calls_record_connection_handoff( method test_pool_handler_no_handoff_call_when_already_processed (line 1281) | def test_pool_handler_no_handoff_call_when_already_processed( method test_pool_handler_no_handoff_call_when_disabled (line 1306) | def test_pool_handler_no_handoff_call_when_disabled( FILE: tests/maint_notifications/test_maint_notifications_handling.py class Helpers (line 50) | class Helpers: method validate_in_use_connections_state (line 54) | def validate_in_use_connections_state( method validate_free_connections_state (line 92) | def validate_free_connections_state( method validate_conn_kwargs (line 139) | def validate_conn_kwargs( class MockSocket (line 178) | class MockSocket: method __init__ (line 181) | def __init__(self): method connect (line 193) | def connect(self, address): method send (line 198) | def send(self, data): method sendall (line 285) | def sendall(self, data): method recv (line 289) | def recv(self, bufsize): method recv_into (line 307) | def recv_into(self, buffer, nbytes=0): method fileno (line 339) | def fileno(self): method close (line 343) | def close(self): method settimeout (line 351) | def settimeout(self, timeout): method gettimeout (line 359) | def gettimeout(self): method setsockopt (line 363) | def setsockopt(self, level, optname, value): method setblocking (line 367) | def setblocking(self, blocking): method getpeername (line 370) | def getpeername(self): method getsockname (line 374) | def getsockname(self): method shutdown (line 378) | def shutdown(self, how): class TestMaintenanceNotificationsBase (line 383) | class TestMaintenanceNotificationsBase: method setup_method (line 386) | def setup_method(self): method teardown_method (line 421) | def teardown_method(self): method _get_client (line 426) | def _get_client( class TestMaintenanceNotificationsHandshake (line 469) | class TestMaintenanceNotificationsHandshake(TestMaintenanceNotifications... method test_handshake_success_when_enabled (line 472) | def test_handshake_success_when_enabled(self): method test_handshake_success_when_auto_and_command_not_supported (line 493) | def test_handshake_success_when_auto_and_command_not_supported(self): method test_handshake_failure_when_enabled (line 514) | def test_handshake_failure_when_enabled(self): class TestMaintenanceNotificationsHandlingSingleProxy (line 533) | class TestMaintenanceNotificationsHandlingSingleProxy(TestMaintenanceNot... method _validate_connection_handlers (line 536) | def _validate_connection_handlers(self, conn, pool_handler, config): method _validate_current_timeout (line 570) | def _validate_current_timeout(self, expected_timeout, error_msg=None): method _validate_disconnected (line 587) | def _validate_disconnected(self, expected_count): method _validate_connected (line 595) | def _validate_connected(self, expected_count): method test_client_initialization (line 603) | def test_client_initialization(self): method test_maint_handler_init_for_existing_connections (line 626) | def test_maint_handler_init_for_existing_connections(self): method test_connection_pool_creation_with_maintenance_notifications (line 670) | def test_connection_pool_creation_with_maintenance_notifications(self,... method test_redis_operations_with_mock_sockets (line 710) | def test_redis_operations_with_mock_sockets(self, pool_class): method test_pool_handler_with_migrating_notification (line 741) | def test_pool_handler_with_migrating_notification(self): method test_migration_related_notifications_handling_integration (line 781) | def test_migration_related_notifications_handling_integration(self, po... method test_migrating_notification_with_disabled_relaxed_timeout (line 865) | def test_migrating_notification_with_disabled_relaxed_timeout(self, po... method test_failing_over_related_notifications_handling_integration (line 979) | def test_failing_over_related_notifications_handling_integration(self,... method test_moving_related_notifications_handling_integration (line 1063) | def test_moving_related_notifications_handling_integration(self, pool_... method test_moving_none_notifications_handling_integration (line 1194) | def test_moving_none_notifications_handling_integration(self, pool_cla... method test_create_new_conn_while_moving_not_expired (line 1345) | def test_create_new_conn_while_moving_not_expired(self, pool_class): method test_create_new_conn_after_moving_expires (line 1428) | def test_create_new_conn_after_moving_expires(self, pool_class): method test_receive_migrated_after_moving (line 1489) | def test_receive_migrated_after_moving(self, pool_class): method test_overlapping_moving_notifications (line 1603) | def test_overlapping_moving_notifications(self, pool_class): method test_thread_safety_concurrent_notification_handling (line 1753) | def test_thread_safety_concurrent_notification_handling(self, pool_cla... method test_moving_migrating_migrated_moved_state_transitions (line 1806) | def test_moving_migrating_migrated_moved_state_transitions( class TestMaintenanceNotificationsHandlingMultipleProxies (line 1983) | class TestMaintenanceNotificationsHandlingMultipleProxies( method setup_method (line 1988) | def setup_method(self): method teardown_method (line 2020) | def teardown_method(self): method test_migrating_after_moving_multiple_proxies (line 2026) | def test_migrating_after_moving_multiple_proxies(self, pool_class): FILE: tests/mocks.py class MockSocket (line 4) | class MockSocket: class TestError (line 10) | class TestError(BaseException): method __init__ (line 13) | def __init__(self, data, interrupt_every=0): method tick (line 19) | def tick(self): method recv (line 26) | def recv(self, bufsize): method recv_into (line 33) | def recv_into(self, buffer, nbytes=0, flags=0): FILE: tests/ssl_utils.py class CertificateType (line 15) | class CertificateType(str, enum.Enum): function get_tls_certificates (line 24) | def get_tls_certificates( FILE: tests/test_asyncio/compat.py function aclosing (line 9) | async def aclosing(thing): function create_task (line 16) | def create_task(coroutine): FILE: tests/test_asyncio/conftest.py function _get_info (line 19) | async def _get_info(redis_url): function create_redis (line 41) | async def create_redis(request): function r (line 102) | async def r(create_redis): function r2 (line 107) | async def r2(create_redis): function decoded_r (line 113) | async def decoded_r(create_redis): function sentinel_setup (line 118) | async def sentinel_setup(local_cache, request): function master (line 140) | async def master(request, sentinel_setup): function _gen_cluster_mock_resp (line 147) | def _gen_cluster_mock_resp(r, response): function mock_cluster_resp_ok (line 159) | async def mock_cluster_resp_ok(create_redis, **kwargs): function mock_cluster_resp_int (line 166) | async def mock_cluster_resp_int(create_redis, **kwargs): function mock_cluster_resp_info (line 173) | async def mock_cluster_resp_info(create_redis, **kwargs): function mock_cluster_resp_nodes (line 188) | async def mock_cluster_resp_nodes(create_redis, **kwargs): function mock_cluster_resp_slaves (line 213) | async def mock_cluster_resp_slaves(create_redis, **kwargs): function credential_provider (line 225) | async def credential_provider(request) -> CredentialProvider: function wait_for_command (line 229) | async def wait_for_command( class AsyncContextManager (line 253) | class AsyncContextManager: method __init__ (line 254) | def __init__(self, async_generator): method __aenter__ (line 257) | async def __aenter__(self): method __aexit__ (line 263) | async def __aexit__(self, exc_type, exc_inst, tb): function asynccontextmanager (line 274) | def asynccontextmanager(func): function redis_url (line 280) | def redis_url(request): function connect_args (line 285) | def connect_args(request): FILE: tests/test_asyncio/helpers.py function wait_for_condition (line 6) | async def wait_for_condition( FILE: tests/test_asyncio/mocks.py class MockStream (line 6) | class MockStream: class TestError (line 12) | class TestError(BaseException): method __init__ (line 15) | def __init__(self, data, interrupt_every=0): method tick (line 21) | def tick(self): method read (line 28) | async def read(self, want): method readline (line 35) | async def readline(self): method readexactly (line 45) | async def readexactly(self, length): FILE: tests/test_asyncio/test_bloom.py function decoded_r (line 15) | async def decoded_r(create_redis, stack_url): function intlist (line 19) | def intlist(obj): function test_create (line 24) | async def test_create(decoded_r: redis.Redis): function test_tdigest_create (line 40) | async def test_tdigest_create(decoded_r: redis.Redis): function test_bf_add (line 45) | async def test_bf_add(decoded_r: redis.Redis): function test_bf_insert (line 58) | async def test_bf_insert(decoded_r: redis.Redis): function test_bf_scandump_and_loadchunk (line 89) | async def test_bf_scandump_and_loadchunk(decoded_r: redis.Redis): function test_bf_info (line 137) | async def test_bf_info(decoded_r: redis.Redis): function test_bf_card (line 169) | async def test_bf_card(decoded_r: redis.Redis): function test_cf_add_and_insert (line 184) | async def test_cf_add_and_insert(decoded_r: redis.Redis): function test_cf_exists_and_del (line 210) | async def test_cf_exists_and_del(decoded_r: redis.Redis): function test_cms (line 222) | async def test_cms(decoded_r: redis.Redis): function test_cms_merge (line 239) | async def test_cms_merge(decoded_r: redis.Redis): function test_topk (line 256) | async def test_topk(decoded_r: redis.Redis): function test_topk_list_with_special_words (line 337) | async def test_topk_list_with_special_words(decoded_r: redis.Redis): function test_topk_incrby (line 365) | async def test_topk_incrby(decoded_r: redis.Redis): function test_tdigest_reset (line 381) | async def test_tdigest_reset(decoded_r: redis.Redis): function test_tdigest_merge (line 398) | async def test_tdigest_merge(decoded_r: redis.Redis): function test_tdigest_min_and_max (line 426) | async def test_tdigest_min_and_max(decoded_r: redis.Redis): function test_tdigest_quantile (line 438) | async def test_tdigest_quantile(decoded_r: redis.Redis): function test_tdigest_cdf (line 466) | async def test_tdigest_cdf(decoded_r: redis.Redis): function test_tdigest_trimmed_mean (line 479) | async def test_tdigest_trimmed_mean(decoded_r: redis.Redis): function test_tdigest_rank (line 489) | async def test_tdigest_rank(decoded_r: redis.Redis): function test_tdigest_revrank (line 500) | async def test_tdigest_revrank(decoded_r: redis.Redis): function test_tdigest_byrank (line 510) | async def test_tdigest_byrank(decoded_r: redis.Redis): function test_tdigest_byrevrank (line 522) | async def test_tdigest_byrevrank(decoded_r: redis.Redis): FILE: tests/test_asyncio/test_client.py class TestAsyncRedisClientOperationDurationMetricsRecording (line 23) | class TestAsyncRedisClientOperationDurationMetricsRecording: method mock_async_connection (line 33) | def mock_async_connection(self): method mock_async_connection_pool (line 54) | def mock_async_connection_pool(self, mock_async_connection): method mock_meter (line 64) | def mock_meter(self): method test_execute_command_records_operation_duration (line 90) | async def test_execute_command_records_operation_duration( method test_get_command_records_operation_duration (line 140) | async def test_get_command_records_operation_duration( method test_multiple_commands_record_multiple_metrics (line 175) | async def test_multiple_commands_record_multiple_metrics( class TestAsyncRedisClientErrorMetricsRecording (line 218) | class TestAsyncRedisClientErrorMetricsRecording: method mock_async_connection (line 228) | def mock_async_connection(self): method mock_async_connection_pool (line 249) | def mock_async_connection_pool(self, mock_async_connection): method mock_error_meter (line 259) | def mock_error_meter(self): method test_execute_command_error_records_error_count (line 278) | async def test_execute_command_error_records_error_count( method test_connection_error_records_error_count (line 323) | async def test_connection_error_records_error_count( method test_timeout_error_records_error_count (line 363) | async def test_timeout_error_records_error_count( method test_error_count_includes_server_attributes (line 403) | async def test_error_count_includes_server_attributes( FILE: tests/test_asyncio/test_cluster.py class NodeProxy (line 72) | class NodeProxy: method __init__ (line 75) | def __init__(self, addr, redis_addr): method start (line 82) | async def start(self): method handle (line 92) | async def handle(self, reader, writer): method aclose (line 106) | async def aclose(self): method pipe (line 117) | async def pipe( function slowlog (line 131) | async def slowlog(r: RedisCluster) -> None: function get_mocked_redis_client (line 153) | async def get_mocked_redis_client( function mock_node_resp (line 216) | def mock_node_resp(node: ClusterNode, response: Any) -> ClusterNode: function mock_node_resp_exc (line 226) | def mock_node_resp_exc(node: ClusterNode, exc: Exception) -> ClusterNode: function mock_all_nodes_resp (line 236) | def mock_all_nodes_resp(rc: RedisCluster, response: Any) -> RedisCluster: function moved_redirection_helper (line 242) | async def moved_redirection_helper( class TestRedisClusterObj (line 311) | class TestRedisClusterObj: method test_host_port_startup_node (line 316) | async def test_host_port_startup_node(self) -> None: method test_aclosing (line 326) | async def test_aclosing(self) -> None: method test_close_is_aclose (line 340) | async def test_close_is_aclose(self) -> None: method test_startup_nodes (line 358) | async def test_startup_nodes(self) -> None: method test_cluster_set_get_retry_object (line 390) | async def test_cluster_set_get_retry_object(self, request: FixtureRequ... method test_cluster_retry_object (line 420) | async def test_cluster_retry_object(self, request: FixtureRequest) -> ... method test_empty_startup_nodes (line 468) | async def test_empty_startup_nodes(self) -> None: method test_from_url (line 479) | async def test_from_url(self, request: FixtureRequest) -> None: method test_max_connections (line 489) | async def test_max_connections( method test_execute_command_errors (line 521) | async def test_execute_command_errors(self, r: RedisCluster) -> None: method test_execute_command_node_flag_primaries (line 531) | async def test_execute_command_node_flag_primaries(self, r: RedisClust... method test_execute_command_node_flag_replicas (line 546) | async def test_execute_command_node_flag_replicas(self, r: RedisCluste... method test_execute_command_node_flag_all_nodes (line 565) | async def test_execute_command_node_flag_all_nodes(self, r: RedisClust... method test_execute_command_node_flag_random (line 575) | async def test_execute_command_node_flag_random(self, r: RedisCluster)... method test_execute_command_default_node (line 588) | async def test_execute_command_default_node(self, r: RedisCluster) -> ... method test_ask_redirection (line 599) | async def test_ask_redirection(self, r: RedisCluster) -> None: method test_moved_redirection (line 627) | async def test_moved_redirection( method test_moved_redirection_after_failover (line 635) | async def test_moved_redirection_after_failover( method test_moved_redirection_circular_moved (line 643) | async def test_moved_redirection_circular_moved( method test_refresh_using_specific_nodes (line 654) | async def test_refresh_using_specific_nodes( method test_reading_with_load_balancing_strategies (line 760) | async def test_reading_with_load_balancing_strategies( method test_keyslot (line 826) | async def test_keyslot(self, r: RedisCluster) -> None: method test_get_node_name (line 843) | async def test_get_node_name(self) -> None: method test_all_nodes (line 849) | async def test_all_nodes(self, r: RedisCluster) -> None: method test_all_nodes_masters (line 858) | async def test_all_nodes_masters(self, r: RedisCluster) -> None: method test_cluster_down_overreaches_retry_attempts (line 873) | async def test_cluster_down_overreaches_retry_attempts( method test_set_default_node_success (line 898) | async def test_set_default_node_success(self, r: RedisCluster) -> None: method test_set_default_node_failure (line 912) | async def test_set_default_node_failure(self, r: RedisCluster) -> None: method test_get_node_from_key (line 924) | async def test_get_node_from_key(self, r: RedisCluster) -> None: method test_not_require_full_coverage_cluster_down_error (line 939) | async def test_not_require_full_coverage_cluster_down_error( method test_can_run_concurrent_commands (line 969) | async def test_can_run_concurrent_commands(self, request: FixtureReque... method test_replace_cluster_node (line 979) | def test_replace_cluster_node(self, r: RedisCluster) -> None: method test_default_node_is_replaced_after_exception (line 986) | async def test_default_node_is_replaced_after_exception(self, r): method test_address_remap (line 1009) | async def test_address_remap(self, create_redis, master_host): class TestClusterRedisCommands (line 1053) | class TestClusterRedisCommands: method test_get_and_set (line 1058) | async def test_get_and_set(self, r: RedisCluster) -> None: method test_get_and_set_with_load_balanced_client (line 1079) | async def test_get_and_set_with_load_balanced_client( method test_mget_nonatomic (line 1099) | async def test_mget_nonatomic(self, r: RedisCluster) -> None: method test_mset_nonatomic (line 1113) | async def test_mset_nonatomic(self, r: RedisCluster) -> None: method test_config_set (line 1119) | async def test_config_set(self, r: RedisCluster) -> None: method test_cluster_config_resetstat (line 1122) | async def test_cluster_config_resetstat(self, r: RedisCluster) -> None: method test_client_setname (line 1135) | async def test_client_setname(self, r: RedisCluster) -> None: method test_exists (line 1141) | async def test_exists(self, r: RedisCluster) -> None: method test_delete (line 1146) | async def test_delete(self, r: RedisCluster) -> None: method test_touch (line 1152) | async def test_touch(self, r: RedisCluster) -> None: method test_unlink (line 1157) | async def test_unlink(self, r: RedisCluster) -> None: method test_initialize_before_execute_multi_key_command (line 1166) | async def test_initialize_before_execute_multi_key_command( method test_cluster_myid (line 1176) | async def test_cluster_myid(self, r: RedisCluster) -> None: method test_cluster_myshardid (line 1183) | async def test_cluster_myshardid(self, r: RedisCluster) -> None: method test_cluster_slots (line 1189) | async def test_cluster_slots(self, r: RedisCluster) -> None: method test_cluster_addslots (line 1198) | async def test_cluster_addslots(self, r: RedisCluster) -> None: method test_cluster_addslotsrange (line 1205) | async def test_cluster_addslotsrange(self, r: RedisCluster): method test_cluster_countkeysinslot (line 1211) | async def test_cluster_countkeysinslot(self, r: RedisCluster) -> None: method test_cluster_count_failure_report (line 1216) | async def test_cluster_count_failure_report(self, r: RedisCluster) -> ... method test_cluster_delslots (line 1221) | async def test_cluster_delslots(self) -> None: method test_cluster_delslotsrange (line 1240) | async def test_cluster_delslotsrange(self): method test_cluster_failover (line 1250) | async def test_cluster_failover(self, r: RedisCluster) -> None: method test_cluster_info (line 1260) | async def test_cluster_info(self, r: RedisCluster) -> None: method test_cluster_keyslot (line 1266) | async def test_cluster_keyslot(self, r: RedisCluster) -> None: method test_cluster_meet (line 1271) | async def test_cluster_meet(self, r: RedisCluster) -> None: method test_cluster_nodes (line 1277) | async def test_cluster_nodes(self, r: RedisCluster) -> None: method test_cluster_nodes_importing_migrating (line 1306) | async def test_cluster_nodes_importing_migrating(self, r: RedisCluster... method test_cluster_replicate (line 1343) | async def test_cluster_replicate(self, r: RedisCluster) -> None: method test_cluster_reset (line 1356) | async def test_cluster_reset(self, r: RedisCluster) -> None: method test_cluster_save_config (line 1365) | async def test_cluster_save_config(self, r: RedisCluster) -> None: method test_cluster_get_keys_in_slot (line 1375) | async def test_cluster_get_keys_in_slot(self, r: RedisCluster) -> None: method test_cluster_set_config_epoch (line 1383) | async def test_cluster_set_config_epoch(self, r: RedisCluster) -> None: method test_cluster_setslot (line 1391) | async def test_cluster_setslot(self, r: RedisCluster) -> None: method test_cluster_setslot_stable (line 1402) | async def test_cluster_setslot_stable(self, r: RedisCluster) -> None: method test_cluster_replicas (line 1409) | async def test_cluster_replicas(self, r: RedisCluster) -> None: method test_cluster_links (line 1430) | async def test_cluster_links(self, r: RedisCluster): method test_readonly (line 1447) | async def test_readonly(self) -> None: method test_readwrite (line 1460) | async def test_readwrite(self) -> None: method test_bgsave (line 1473) | async def test_bgsave(self, r: RedisCluster) -> None: method test_info (line 1482) | async def test_info(self, r: RedisCluster) -> None: method _init_slowlog_test (line 1495) | async def _init_slowlog_test(self, r: RedisCluster, node: ClusterNode)... method _teardown_slowlog_test (line 1502) | async def _teardown_slowlog_test( method test_slowlog_get (line 1510) | async def test_slowlog_get( method test_slowlog_get_limit (line 1538) | async def test_slowlog_get_limit( method test_slowlog_length (line 1551) | async def test_slowlog_length(self, r: RedisCluster, slowlog: None) ->... method test_time (line 1557) | async def test_time(self, r: RedisCluster) -> None: method test_memory_usage (line 1564) | async def test_memory_usage(self, r: RedisCluster) -> None: method test_memory_malloc_stats (line 1570) | async def test_memory_malloc_stats(self, r: RedisCluster) -> None: method test_memory_stats (line 1575) | async def test_memory_stats(self, r: RedisCluster) -> None: method test_memory_help (line 1587) | async def test_memory_help(self, r: RedisCluster) -> None: method test_memory_doctor (line 1592) | async def test_memory_doctor(self, r: RedisCluster) -> None: method test_lastsave (line 1597) | async def test_lastsave(self, r: RedisCluster) -> None: method test_cluster_echo (line 1601) | async def test_cluster_echo(self, r: RedisCluster) -> None: method test_debug_segfault (line 1606) | async def test_debug_segfault(self, r: RedisCluster) -> None: method test_config_resetstat (line 1610) | async def test_config_resetstat(self, r: RedisCluster) -> None: method test_client_trackinginfo (line 1624) | async def test_client_trackinginfo(self, r: RedisCluster) -> None: method test_client_pause (line 1631) | async def test_client_pause(self, r: RedisCluster) -> None: method test_client_unpause (line 1640) | async def test_client_unpause(self, r: RedisCluster) -> None: method test_client_id (line 1644) | async def test_client_id(self, r: RedisCluster) -> None: method test_client_unblock (line 1649) | async def test_client_unblock(self, r: RedisCluster) -> None: method test_client_getredir (line 1657) | async def test_client_getredir(self, r: RedisCluster) -> None: method test_client_info (line 1663) | async def test_client_info(self, r: RedisCluster) -> None: method test_client_kill (line 1670) | async def test_client_kill( method test_cluster_bitop_not_empty_string (line 1698) | async def test_cluster_bitop_not_empty_string(self, r: RedisCluster) -... method test_cluster_bitop_not (line 1704) | async def test_cluster_bitop_not(self, r: RedisCluster) -> None: method test_cluster_bitop_not_in_place (line 1712) | async def test_cluster_bitop_not_in_place(self, r: RedisCluster) -> None: method test_cluster_bitop_single_string (line 1720) | async def test_cluster_bitop_single_string(self, r: RedisCluster) -> N... method test_cluster_bitop_string_operands (line 1731) | async def test_cluster_bitop_string_operands(self, r: RedisCluster) ->... method test_cluster_copy (line 1742) | async def test_cluster_copy(self, r: RedisCluster) -> None: method test_cluster_copy_and_replace (line 1750) | async def test_cluster_copy_and_replace(self, r: RedisCluster) -> None: method test_cluster_lmove (line 1757) | async def test_cluster_lmove(self, r: RedisCluster) -> None: method test_cluster_blmove (line 1763) | async def test_cluster_blmove(self, r: RedisCluster) -> None: method test_cluster_msetnx (line 1768) | async def test_cluster_msetnx(self, r: RedisCluster) -> None: method test_cluster_rename (line 1777) | async def test_cluster_rename(self, r: RedisCluster) -> None: method test_cluster_renamenx (line 1783) | async def test_cluster_renamenx(self, r: RedisCluster) -> None: method test_cluster_blpop (line 1791) | async def test_cluster_blpop(self, r: RedisCluster) -> None: method test_cluster_brpop (line 1824) | async def test_cluster_brpop(self, r: RedisCluster) -> None: method test_cluster_brpoplpush (line 1857) | async def test_cluster_brpoplpush(self, r: RedisCluster) -> None: method test_cluster_brpoplpush_empty_string (line 1866) | async def test_cluster_brpoplpush_empty_string(self, r: RedisCluster) ... method test_cluster_rpoplpush (line 1870) | async def test_cluster_rpoplpush(self, r: RedisCluster) -> None: method test_cluster_sdiff (line 1877) | async def test_cluster_sdiff(self, r: RedisCluster) -> None: method test_cluster_sdiffstore (line 1883) | async def test_cluster_sdiffstore(self, r: RedisCluster) -> None: method test_cluster_sinter (line 1891) | async def test_cluster_sinter(self, r: RedisCluster) -> None: method test_cluster_sinterstore (line 1897) | async def test_cluster_sinterstore(self, r: RedisCluster) -> None: method test_cluster_smove (line 1905) | async def test_cluster_smove(self, r: RedisCluster) -> None: method test_cluster_sunion (line 1912) | async def test_cluster_sunion(self, r: RedisCluster) -> None: method test_cluster_sunionstore (line 1917) | async def test_cluster_sunionstore(self, r: RedisCluster) -> None: method test_cluster_zdiff (line 1924) | async def test_cluster_zdiff(self, r: RedisCluster) -> None: method test_cluster_zdiffstore (line 1932) | async def test_cluster_zdiffstore(self, r: RedisCluster) -> None: method test_cluster_zinter (line 1941) | async def test_cluster_zinter(self, r: RedisCluster) -> None: method test_cluster_zinterstore_sum (line 1976) | async def test_cluster_zinterstore_sum(self, r: RedisCluster) -> None: method test_cluster_zinterstore_max (line 1988) | async def test_cluster_zinterstore_max(self, r: RedisCluster) -> None: method test_cluster_zinterstore_min (line 2005) | async def test_cluster_zinterstore_min(self, r: RedisCluster) -> None: method test_cluster_zinterstore_with_weight (line 2022) | async def test_cluster_zinterstore_with_weight(self, r: RedisCluster) ... method test_cluster_bzpopmax (line 2037) | async def test_cluster_bzpopmax(self, r: RedisCluster) -> None: method test_cluster_bzpopmin (line 2074) | async def test_cluster_bzpopmin(self, r: RedisCluster) -> None: method test_cluster_zrangestore (line 2111) | async def test_cluster_zrangestore(self, r: RedisCluster) -> None: method test_cluster_zunion (line 2138) | async def test_cluster_zunion(self, r: RedisCluster) -> None: method test_cluster_zunionstore_sum (line 2181) | async def test_cluster_zunionstore_sum(self, r: RedisCluster) -> None: method test_cluster_zunionstore_max (line 2193) | async def test_cluster_zunionstore_max(self, r: RedisCluster) -> None: method test_cluster_zunionstore_min (line 2210) | async def test_cluster_zunionstore_min(self, r: RedisCluster) -> None: method test_cluster_zunionstore_with_weight (line 2227) | async def test_cluster_zunionstore_with_weight(self, r: RedisCluster) ... method test_cluster_pfcount (line 2242) | async def test_cluster_pfcount(self, r: RedisCluster) -> None: method test_cluster_pfmerge (line 2252) | async def test_cluster_pfmerge(self, r: RedisCluster) -> None: method test_cluster_sort_store (line 2264) | async def test_cluster_sort_store(self, r: RedisCluster) -> None: method test_cluster_geosearchstore (line 2271) | async def test_cluster_geosearchstore(self, r: RedisCluster) -> None: method test_geosearchstore_dist (line 2290) | async def test_geosearchstore_dist(self, r: RedisCluster) -> None: method test_cluster_georadius_store (line 2310) | async def test_cluster_georadius_store(self, r: RedisCluster) -> None: method test_cluster_georadius_store_dist (line 2325) | async def test_cluster_georadius_store_dist(self, r: RedisCluster) -> ... method test_cluster_dbsize (line 2339) | async def test_cluster_dbsize(self, r: RedisCluster) -> None: method test_cluster_keys (line 2344) | async def test_cluster_keys(self, r: RedisCluster) -> None: method test_cluster_scan (line 2358) | async def test_cluster_scan(self, r: RedisCluster) -> None: method test_cluster_scan_type (line 2377) | async def test_cluster_scan_type(self, r: RedisCluster) -> None: method test_cluster_scan_iter (line 2400) | async def test_cluster_scan_iter(self, r: RedisCluster) -> None: method test_cluster_randomkey (line 2421) | async def test_cluster_randomkey(self, r: RedisCluster) -> None: method test_acl_log (line 2430) | async def test_acl_log( method test_hotkeys_cluster (line 2476) | async def test_hotkeys_cluster(self, r: RedisCluster) -> None: class TestNodesManager (line 2489) | class TestNodesManager: method test_load_balancer (line 2494) | async def test_load_balancer(self, r: RedisCluster) -> None: method test_init_slots_cache_not_all_slots_covered (line 2552) | async def test_init_slots_cache_not_all_slots_covered(self) -> None: method test_init_slots_cache_not_require_full_coverage_success (line 2574) | async def test_init_slots_cache_not_require_full_coverage_success(self... method test_init_slots_cache (line 2597) | async def test_init_slots_cache(self) -> None: method test_init_slots_cache_cluster_mode_disabled (line 2628) | async def test_init_slots_cache_cluster_mode_disabled(self) -> None: method test_empty_startup_nodes (line 2643) | async def test_empty_startup_nodes(self) -> None: method test_wrong_startup_nodes_type (line 2651) | async def test_wrong_startup_nodes_type(self) -> None: method test_init_slots_cache_slots_collision (line 2659) | async def test_init_slots_cache_slots_collision(self) -> None: method test_cluster_one_instance (line 2706) | async def test_cluster_one_instance(self) -> None: method test_init_with_down_node (line 2729) | async def test_init_with_down_node(self) -> None: method test_init_slots_dynamic_startup_nodes (line 2788) | async def test_init_slots_dynamic_startup_nodes(self, dynamic_startup_... method test_move_node_to_end_of_cached_nodes (line 2808) | async def test_move_node_to_end_of_cached_nodes(self) -> None: method test_move_node_to_end_of_cached_nodes_nonexistent (line 2856) | async def test_move_node_to_end_of_cached_nodes_nonexistent(self) -> N... method test_move_node_to_end_of_cached_nodes_single_node (line 2879) | async def test_move_node_to_end_of_cached_nodes_single_node(self) -> N... class TestClusterNodeConnectionHandling (line 2902) | class TestClusterNodeConnectionHandling: method test_update_active_connections_for_reconnect (line 2905) | async def test_update_active_connections_for_reconnect(self) -> None: method test_disconnect_free_connections (line 2930) | async def test_disconnect_free_connections(self) -> None: method test_disconnect_free_connections_empty (line 2960) | async def test_disconnect_free_connections_empty(self) -> None: method test_release_with_reconnect_flag (line 2972) | async def test_release_with_reconnect_flag(self) -> None: method test_release_without_reconnect_flag (line 2992) | async def test_release_without_reconnect_flag(self) -> None: method test_disconnect_if_needed_disconnects_when_reconnect_needed (line 3011) | async def test_disconnect_if_needed_disconnects_when_reconnect_needed( method test_disconnect_if_needed_skips_when_no_reconnect_needed (line 3029) | async def test_disconnect_if_needed_skips_when_no_reconnect_needed(sel... class TestClusterConnectionErrorHandling (line 3045) | class TestClusterConnectionErrorHandling: method test_connection_error_calls_move_node_to_end_of_cached_nodes (line 3048) | async def test_connection_error_calls_move_node_to_end_of_cached_nodes( method test_connection_error_handles_node_connections (line 3100) | async def test_connection_error_handles_node_connections(self) -> None: class TestClusterPipeline (line 3162) | class TestClusterPipeline: method test_pipeline_nodes_manager_property (line 3165) | async def test_pipeline_nodes_manager_property(self) -> None: method test_pipeline_set_response_callback (line 3181) | async def test_pipeline_set_response_callback(self) -> None: method test_blocked_arguments (line 3203) | async def test_blocked_arguments(self, r: RedisCluster) -> None: method test_blocked_methods (line 3211) | async def test_blocked_methods(self, r: RedisCluster) -> None: method test_empty_stack (line 3227) | async def test_empty_stack(self, r: RedisCluster) -> None: method test_redis_cluster_pipeline (line 3233) | async def test_redis_cluster_pipeline(self, r: RedisCluster) -> None: method test_cluster_pipeline_execution_zero_cluster_err_retries (line 3249) | async def test_cluster_pipeline_execution_zero_cluster_err_retries( method test_multi_key_operation_with_a_single_slot (line 3260) | async def test_multi_key_operation_with_a_single_slot( method test_multi_key_operation_with_multi_slots (line 3275) | async def test_multi_key_operation_with_multi_slots(self, r: RedisClus... method test_cluster_down_error (line 3291) | async def test_cluster_down_error(self, r: RedisCluster) -> None: method test_connection_error_not_raised (line 3320) | async def test_connection_error_not_raised(self, r: RedisCluster) -> N... method test_connection_error_raised (line 3344) | async def test_connection_error_raised(self, r: RedisCluster) -> None: method test_asking_error (line 3367) | async def test_asking_error(self, r: RedisCluster) -> None: method test_error_is_truncated (line 3386) | async def test_error_is_truncated(self, r) -> None: method test_moved_redirection_on_slave_with_default (line 3405) | async def test_moved_redirection_on_slave_with_default( method test_readonly_pipeline_from_readonly_client (line 3437) | async def test_readonly_pipeline_from_readonly_client( method test_readonly_pipeline_with_reading_from_replicas_strategies (line 3465) | async def test_readonly_pipeline_with_reading_from_replicas_strategies( method test_can_run_concurrent_pipelines (line 3489) | async def test_can_run_concurrent_pipelines(self, r: RedisCluster) -> ... method test_pipeline_with_default_node_error_command (line 3498) | async def test_pipeline_with_default_node_error_command(self, create_r... class TestSSL (line 3518) | class TestSSL: method create_client (line 3527) | def create_client(self, request: FixtureRequest) -> Callable[..., Redi... method test_ssl_connection_without_ssl (line 3571) | async def test_ssl_connection_without_ssl( method test_ssl_with_invalid_cert (line 3579) | async def test_ssl_with_invalid_cert( method test_ssl_connection (line 3587) | async def test_ssl_connection( method test_ssl_connection_tls12_custom_ciphers (line 3601) | async def test_ssl_connection_tls12_custom_ciphers( method test_ssl_connection_tls12_custom_ciphers_invalid (line 3612) | async def test_ssl_connection_tls12_custom_ciphers_invalid( method test_ssl_connection_tls13_custom_ciphers (line 3632) | async def test_ssl_connection_tls13_custom_ciphers( method test_validating_self_signed_certificate (line 3646) | async def test_validating_self_signed_certificate( method test_validating_self_signed_string_certificate (line 3666) | async def test_validating_self_signed_string_certificate( class TestAsyncClusterMetricsRecording (line 3691) | class TestAsyncClusterMetricsRecording: method mock_meter (line 3701) | def mock_meter(self): method cluster_with_otel (line 3721) | async def cluster_with_otel(self, r, mock_meter): method test_execute_command_records_metric (line 3756) | async def test_execute_command_records_metric(self, cluster_with_otel): method test_get_command_records_metric (line 3783) | async def test_get_command_records_metric(self, cluster_with_otel): method test_multiple_commands_record_multiple_metrics (line 3797) | async def test_multiple_commands_record_multiple_metrics(self, cluster... method test_server_attributes_recorded (line 3811) | async def test_server_attributes_recorded(self, cluster_with_otel): method test_duration_is_positive (line 3833) | async def test_duration_is_positive(self, cluster_with_otel): method test_no_batch_size_for_single_command (line 3847) | async def test_no_batch_size_for_single_command(self, cluster_with_otel): method test_command_error_records_metric_with_error_type (line 3861) | async def test_command_error_records_metric_with_error_type( class TestAsyncClusterPipelineMetricsRecording (line 3891) | class TestAsyncClusterPipelineMetricsRecording: method mock_meter (line 3901) | def mock_meter(self): method cluster_pipeline_with_otel (line 3921) | async def cluster_pipeline_with_otel(self, r, mock_meter): method test_pipeline_execute_records_metric (line 3956) | async def test_pipeline_execute_records_metric(self, cluster_pipeline_... method test_pipeline_server_attributes_recorded (line 3983) | async def test_pipeline_server_attributes_recorded( method test_pipeline_duration_is_positive (line 4015) | async def test_pipeline_duration_is_positive(self, cluster_pipeline_wi... method test_multiple_pipeline_executions_record_multiple_metrics (line 4039) | async def test_multiple_pipeline_executions_record_multiple_metrics( FILE: tests/test_asyncio/test_cluster_transaction.py function _find_source_and_target_node_for_slot (line 16) | def _find_source_and_target_node_for_slot( class TestClusterTransaction (line 38) | class TestClusterTransaction: method test_pipeline_is_true (line 40) | async def test_pipeline_is_true(self, r) -> None: method test_pipeline_empty_transaction (line 46) | async def test_pipeline_empty_transaction(self, r): method test_executes_transaction_against_cluster (line 53) | async def test_executes_transaction_against_cluster(self, r) -> None: method test_throws_exception_on_different_hash_slots (line 82) | async def test_throws_exception_on_different_hash_slots(self, r): method test_throws_exception_with_watch_on_different_hash_slots (line 94) | async def test_throws_exception_with_watch_on_different_hash_slots(sel... method test_transaction_with_watched_keys (line 103) | async def test_transaction_with_watched_keys(self, r): method test_retry_transaction_during_unfinished_slot_migration (line 115) | async def test_retry_transaction_during_unfinished_slot_migration(self... method test_retry_transaction_during_slot_migration_successful (line 156) | async def test_retry_transaction_during_slot_migration_successful( method test_retry_transaction_with_watch_after_slot_migration (line 201) | async def test_retry_transaction_with_watch_after_slot_migration(self,... method test_retry_transaction_with_watch_during_slot_migration (line 223) | async def test_retry_transaction_with_watch_during_slot_migration(self... method test_retry_transaction_on_connection_error (line 267) | async def test_retry_transaction_on_connection_error(self, r): method test_retry_transaction_on_connection_error_with_watched_keys (line 300) | async def test_retry_transaction_on_connection_error_with_watched_keys... method test_exec_error_raised (line 336) | async def test_exec_error_raised(self, r): method test_parse_error_raised (line 354) | async def test_parse_error_raised(self, r): method test_transaction_callable (line 371) | async def test_transaction_callable(self, r): method test_transaction_discard (line 398) | async def test_transaction_discard(self, r): FILE: tests/test_asyncio/test_command_parser.py class TestAsyncCommandParser (line 11) | class TestAsyncCommandParser: method test_get_command_policies (line 14) | async def test_get_command_policies(self, r): method test_get_command_policies_json_debug_updated (line 33) | async def test_get_command_policies_json_debug_updated(self, r): FILE: tests/test_asyncio/test_command_policies.py class TestBasePolicyResolver (line 20) | class TestBasePolicyResolver: method test_resolve (line 21) | async def test_resolve(self): class TestClusterWithPolicies (line 87) | class TestClusterWithPolicies: method test_resolves_correctly_policies (line 88) | async def test_resolves_correctly_policies(self, r: RedisCluster, monk... FILE: tests/test_asyncio/test_commands.py function r_teardown (line 51) | async def r_teardown(r: redis.Redis): function slowlog (line 73) | async def slowlog(r: redis.Redis): function get_stream_message (line 87) | async def get_stream_message(client: redis.Redis, stream: str, message_i... class TestResponseCallbacks (line 96) | class TestResponseCallbacks: method test_response_callbacks (line 99) | async def test_response_callbacks(self, r: redis.Redis): method test_case_insensitive_command_names (line 111) | async def test_case_insensitive_command_names(self, r: redis.Redis): class TestRedisCommands (line 115) | class TestRedisCommands: method test_command_on_invalid_key_type (line 116) | async def test_command_on_invalid_key_type(self, r: redis.Redis): method test_acl_cat_no_category (line 123) | async def test_acl_cat_no_category(self, r: redis.Redis): method test_acl_cat_contain_modules_no_category (line 130) | async def test_acl_cat_contain_modules_no_category(self, r: redis.Redis): method test_acl_cat_with_category (line 147) | async def test_acl_cat_with_category(self, r: redis.Redis): method test_acl_modules_cat_with_category (line 154) | async def test_acl_modules_cat_with_category(self, r: redis.Redis): method test_acl_deluser (line 188) | async def test_acl_deluser(self, r_teardown): method test_acl_genpass (line 197) | async def test_acl_genpass(self, r: redis.Redis): method test_acl_getuser_setuser (line 202) | async def test_acl_getuser_setuser(self, r_teardown): method test_acl_list (line 302) | async def test_acl_list(self, r_teardown): method test_acl_log (line 312) | async def test_acl_log(self, r_teardown, create_redis): method test_acl_setuser_categories_without_prefix_fails (line 348) | async def test_acl_setuser_categories_without_prefix_fails(self, r_tea... method test_acl_setuser_commands_without_prefix_fails (line 356) | async def test_acl_setuser_commands_without_prefix_fails(self, r_teard... method test_acl_setuser_add_passwords_and_nopass_fails (line 364) | async def test_acl_setuser_add_passwords_and_nopass_fails(self, r_tear... method test_acl_users (line 372) | async def test_acl_users(self, r: redis.Redis): method test_acl_whoami (line 378) | async def test_acl_whoami(self, r: redis.Redis): method test_acl_modules_commands (line 384) | async def test_acl_modules_commands(self, r_teardown): method test_acl_modules_category_commands (line 444) | async def test_acl_modules_category_commands(self, r_teardown): method test_client_list (line 493) | async def test_client_list(self, r: redis.Redis): method test_client_list_type (line 499) | async def test_client_list_type(self, r: redis.Redis): method test_client_id (line 508) | async def test_client_id(self, r: redis.Redis): method test_client_unblock (line 513) | async def test_client_unblock(self, r: redis.Redis): method test_client_getname (line 521) | async def test_client_getname(self, r: redis.Redis): method test_client_setname (line 526) | async def test_client_setname(self, r: redis.Redis): method test_client_setinfo (line 533) | async def test_client_setinfo(self, r: redis.Redis): method test_client_setinfo_with_driver_info (line 555) | async def test_client_setinfo_with_driver_info(self, r: redis.Redis): method test_client_kill (line 569) | async def test_client_kill(self, r: redis.Redis, r2): method test_client_kill_filter_invalid_params (line 593) | async def test_client_kill_filter_invalid_params(self, r: redis.Redis): method test_client_kill_filter_by_id (line 608) | async def test_client_kill_filter_by_id(self, r: redis.Redis, r2): method test_client_kill_filter_by_addr (line 634) | async def test_client_kill_filter_by_addr(self, r: redis.Redis, r2): method test_client_list_after_client_setname (line 659) | async def test_client_list_after_client_setname(self, r: redis.Redis): method test_client_pause (line 667) | async def test_client_pause(self, r: redis.Redis): method test_client_no_touch (line 675) | async def test_client_no_touch(self, r: redis.Redis): method test_config_get (line 681) | async def test_config_get(self, r: redis.Redis): method test_config_resetstat (line 687) | async def test_config_resetstat(self, r: redis.Redis): method test_config_set (line 695) | async def test_config_set(self, r: redis.Redis): method test_config_get_for_modules (line 703) | async def test_config_get_for_modules(self, r: redis.Redis): method test_config_set_for_search_module (line 718) | async def test_config_set_for_search_module(self, r: redis.Redis): method test_dbsize (line 741) | async def test_dbsize(self, r: redis.Redis): method test_echo (line 747) | async def test_echo(self, r: redis.Redis): method test_info (line 751) | async def test_info(self, r: redis.Redis): method test_lastsave (line 760) | async def test_lastsave(self, r: redis.Redis): method test_object (line 763) | async def test_object(self, r: redis.Redis): method test_ping (line 770) | async def test_ping(self, r: redis.Redis): method test_slowlog_get (line 774) | async def test_slowlog_get(self, r: redis.Redis, slowlog): method test_slowlog_get_limit (line 796) | async def test_slowlog_get_limit(self, r: redis.Redis, slowlog): method test_slowlog_length (line 805) | async def test_slowlog_length(self, r: redis.Redis, slowlog): method test_time (line 810) | async def test_time(self, r: redis.Redis): method test_hotkeys_start_basic (line 818) | async def test_hotkeys_start_basic(self, r: redis.Redis): method test_hotkeys_start_with_all_metrics (line 832) | async def test_hotkeys_start_with_all_metrics(self, r: redis.Redis): method test_hotkeys_start_with_duration (line 846) | async def test_hotkeys_start_with_duration(self, r: redis.Redis): method test_hotkeys_start_with_sample_ratio (line 860) | async def test_hotkeys_start_with_sample_ratio(self, r: redis.Redis): method test_hotkeys_start_with_slots_fail_on_non_cluster_setup (line 874) | async def test_hotkeys_start_with_slots_fail_on_non_cluster_setup( method test_hotkeys_start_with_all_parameters (line 889) | async def test_hotkeys_start_with_all_parameters(self, r: redis.Redis): method test_hotkeys_stop (line 906) | async def test_hotkeys_stop(self, r: redis.Redis): method test_hotkeys_reset (line 922) | async def test_hotkeys_reset(self, r: redis.Redis): method test_hotkeys_get_ongoing_session (line 963) | async def test_hotkeys_get_ongoing_session(self, r: redis.Redis): method test_hotkeys_get_terminated_session (line 995) | async def test_hotkeys_get_terminated_session(self, r: redis.Redis): method test_hotkeys_get_all_fields (line 1024) | async def test_hotkeys_get_all_fields(self, r: redis.Redis): method test_hotkeys_get_all_fields_decoded (line 1074) | async def test_hotkeys_get_all_fields_decoded(self, decoded_r: redis.R... method test_never_decode_option (line 1122) | async def test_never_decode_option(self, r: redis.Redis): method test_empty_response_option (line 1127) | async def test_empty_response_option(self, r: redis.Redis): method test_append (line 1133) | async def test_append(self, r: redis.Redis): method test_bitcount (line 1140) | async def test_bitcount(self, r: redis.Redis): method test_bitop_not_empty_string (line 1160) | async def test_bitop_not_empty_string(self, r: redis.Redis): method test_bitop_not (line 1167) | async def test_bitop_not(self, r: redis.Redis): method test_bitop_not_in_place (line 1176) | async def test_bitop_not_in_place(self, r: redis.Redis): method test_bitop_single_string (line 1185) | async def test_bitop_single_string(self, r: redis.Redis): method test_bitop_string_operands (line 1197) | async def test_bitop_string_operands(self, r: redis.Redis): method test_bitop_diff (line 1209) | async def test_bitop_diff(self, r: redis.Redis): method test_bitop_diff1 (line 1223) | async def test_bitop_diff1(self, r: redis.Redis): method test_bitop_andor (line 1239) | async def test_bitop_andor(self, r: redis.Redis): method test_bitop_one (line 1255) | async def test_bitop_one(self, r: redis.Redis): method test_bitop_new_operations_with_empty_keys (line 1271) | async def test_bitop_new_operations_with_empty_keys(self, r: redis.Red... method test_bitop_new_operations_return_values (line 1288) | async def test_bitop_new_operations_return_values(self, r: redis.Redis): method test_bitpos (line 1306) | async def test_bitpos(self, r: redis.Redis): method test_bitpos_wrong_arguments (line 1319) | async def test_bitpos_wrong_arguments(self, r: redis.Redis): method test_decr (line 1327) | async def test_decr(self, r: redis.Redis): method test_decrby (line 1335) | async def test_decrby(self, r: redis.Redis): method test_delete (line 1340) | async def test_delete(self, r: redis.Redis): method test_delete_with_multiple_keys (line 1345) | async def test_delete_with_multiple_keys(self, r: redis.Redis): method test_delitem (line 1352) | async def test_delitem(self, r: redis.Redis): method _ensure_str (line 1357) | def _ensure_str(self, x): method _server_xxh3_digest (line 1360) | async def _server_xxh3_digest(self, r, key): method test_delex_nonexistent (line 1369) | async def test_delex_nonexistent(self, r): method test_delex_unconditional_delete_string (line 1374) | async def test_delex_unconditional_delete_string(self, r): method test_delex_unconditional_delete_nonstring_allowed (line 1381) | async def test_delex_unconditional_delete_nonstring_allowed(self, r): method test_delex_ifeq (line 1394) | async def test_delex_ifeq(self, r): method test_delex_ifne (line 1404) | async def test_delex_ifne(self, r): method test_delex_with_conditionon_nonstring_values (line 1414) | async def test_delex_with_conditionon_nonstring_values(self, r): method test_delex_ifdeq_and_ifdne (line 1425) | async def test_delex_ifdeq_and_ifdne(self, r, val): method test_delex_pipeline (line 1449) | async def test_delex_pipeline(self, r): method test_delex_mutual_exclusion_client_side (line 1459) | async def test_delex_mutual_exclusion_client_side(self, r): method test_unlink (line 1466) | async def test_unlink(self, r: redis.Redis): method test_unlink_with_multiple_keys (line 1473) | async def test_unlink_with_multiple_keys(self, r: redis.Redis): method test_dump_and_restore (line 1481) | async def test_dump_and_restore(self, r: redis.Redis): method test_dump_and_restore_and_replace (line 1489) | async def test_dump_and_restore_and_replace(self, r: redis.Redis): method test_dump_and_restore_absttl (line 1499) | async def test_dump_and_restore_absttl(self, r: redis.Redis): method test_exists (line 1511) | async def test_exists(self, r: redis.Redis): method test_exists_contains (line 1518) | async def test_exists_contains(self, r: redis.Redis): method test_expire (line 1523) | async def test_expire(self, r: redis.Redis): method test_expireat_datetime (line 1531) | async def test_expireat_datetime(self, r: redis.Redis): method test_expireat_no_key (line 1537) | async def test_expireat_no_key(self, r: redis.Redis): method test_expireat_unixtime (line 1541) | async def test_expireat_unixtime(self, r: redis.Redis): method test_digest_nonexistent_returns_none (line 1549) | async def test_digest_nonexistent_returns_none(self, r): method test_digest_wrong_type_raises (line 1553) | async def test_digest_wrong_type_raises(self, r): method test_digest_response_when_available (line 1562) | async def test_digest_response_when_available(self, r, value): method test_local_digest_matches_server (line 1588) | async def test_local_digest_matches_server(self, r, value): method test_pipeline_digest (line 1611) | async def test_pipeline_digest(self, r): method test_get_and_set (line 1624) | async def test_get_and_set(self, r: redis.Redis): method test_get_set_bit (line 1637) | async def test_get_set_bit(self, r: redis.Redis): method test_getrange (line 1653) | async def test_getrange(self, r: redis.Redis): method test_getset (line 1659) | async def test_getset(self, r: redis.Redis): method test_incr (line 1664) | async def test_incr(self, r: redis.Redis): method test_incrby (line 1672) | async def test_incrby(self, r: redis.Redis): method test_incrbyfloat (line 1678) | async def test_incrbyfloat(self, r: redis.Redis): method test_keys (line 1685) | async def test_keys(self, r: redis.Redis): method test_mget (line 1695) | async def test_mget(self, r: redis.Redis): method test_mset (line 1704) | async def test_mset(self, r: redis.Redis): method test_mset_on_cluster (line 1711) | async def test_mset_on_cluster(self, r): method test_mset_on_cluster_multiple_slots (line 1720) | async def test_mset_on_cluster_multiple_slots(self, r): method test_msetex_no_expiration_with_cluster_client (line 1727) | async def test_msetex_no_expiration_with_cluster_client(self, r): method test_msetex_expiration_ex_and_keepttl_with_cluster_client (line 1740) | async def test_msetex_expiration_ex_and_keepttl_with_cluster_client(se... method test_msetex_expiration_px_with_cluster_client (line 1765) | async def test_msetex_expiration_px_with_cluster_client(self, r): method test_msetex_expiration_pxat_and_nx_with_cluster_client (line 1782) | async def test_msetex_expiration_pxat_and_nx_with_cluster_client(self,... method test_msetex_expiration_exat_and_xx_with_cluster_client (line 1841) | async def test_msetex_expiration_exat_and_xx_with_cluster_client(self,... method test_msetex_invalid_inputs_with_cluster_client (line 1893) | async def test_msetex_invalid_inputs_with_cluster_client(self, r): method test_msetex_no_expiration (line 1900) | async def test_msetex_no_expiration(self, r): method test_msetex_expiration_ex_and_keepttl (line 1913) | async def test_msetex_expiration_ex_and_keepttl(self, r): method test_msetex_expiration_px (line 1938) | async def test_msetex_expiration_px(self, r): method test_msetex_expiration_pxat_and_nx (line 1955) | async def test_msetex_expiration_pxat_and_nx(self, r): method test_msetex_expiration_exat_and_xx (line 2003) | async def test_msetex_expiration_exat_and_xx(self, r): method test_msetex_invalid_inputs (line 2048) | async def test_msetex_invalid_inputs(self, r): method test_msetnx (line 2054) | async def test_msetnx(self, r: redis.Redis): method test_pexpire (line 2064) | async def test_pexpire(self, r: redis.Redis): method test_pexpireat_datetime (line 2073) | async def test_pexpireat_datetime(self, r: redis.Redis): method test_pexpireat_no_key (line 2080) | async def test_pexpireat_no_key(self, r: redis.Redis): method test_pexpireat_unixtime (line 2085) | async def test_pexpireat_unixtime(self, r: redis.Redis): method test_psetex (line 2093) | async def test_psetex(self, r: redis.Redis): method test_psetex_timedelta (line 2099) | async def test_psetex_timedelta(self, r: redis.Redis): method test_pttl (line 2106) | async def test_pttl(self, r: redis.Redis): method test_pttl_no_key (line 2115) | async def test_pttl_no_key(self, r: redis.Redis): method test_hrandfield (line 2120) | async def test_hrandfield(self, r): method test_randomkey (line 2133) | async def test_randomkey(self, r: redis.Redis): method test_rename (line 2140) | async def test_rename(self, r: redis.Redis): method test_renamenx (line 2147) | async def test_renamenx(self, r: redis.Redis): method test_set_nx (line 2155) | async def test_set_nx(self, r: redis.Redis): method test_set_xx (line 2161) | async def test_set_xx(self, r: redis.Redis): method test_set_px (line 2169) | async def test_set_px(self, r: redis.Redis): method test_set_px_timedelta (line 2176) | async def test_set_px_timedelta(self, r: redis.Redis): method test_set_ex (line 2183) | async def test_set_ex(self, r: redis.Redis): method test_set_ex_timedelta (line 2188) | async def test_set_ex_timedelta(self, r: redis.Redis): method test_set_multipleoptions (line 2194) | async def test_set_multipleoptions(self, r: redis.Redis): method test_set_keepttl (line 2200) | async def test_set_keepttl(self, r: redis.Redis): method test_set_ifeq_true_sets_and_returns_true (line 2209) | async def test_set_ifeq_true_sets_and_returns_true(self, r): method test_set_ifeq_false_does_not_set_returns_none (line 2216) | async def test_set_ifeq_false_does_not_set_returns_none(self, r): method test_set_ifne_true_sets (line 2223) | async def test_set_ifne_true_sets(self, r): method test_set_ifne_false_does_not_set (line 2230) | async def test_set_ifne_false_does_not_set(self, r): method test_set_ifeq_when_key_missing_does_not_create (line 2237) | async def test_set_ifeq_when_key_missing_does_not_create(self, r): method test_set_ifne_when_key_missing_creates (line 2243) | async def test_set_ifne_when_key_missing_creates(self, r): method test_set_ifdeq_and_ifdne (line 2250) | async def test_set_ifdeq_and_ifdne(self, r, val): method test_set_with_get_returns_previous_value (line 2274) | async def test_set_with_get_returns_previous_value(self, r): method test_set_mutual_exclusion_client_side (line 2291) | async def test_set_mutual_exclusion_client_side(self, r): method test_setex (line 2304) | async def test_setex(self, r: redis.Redis): method test_setnx (line 2309) | async def test_setnx(self, r: redis.Redis): method test_setrange (line 2315) | async def test_setrange(self, r: redis.Redis): method test_strlen (line 2322) | async def test_strlen(self, r: redis.Redis): method test_substr (line 2326) | async def test_substr(self, r: redis.Redis): method test_ttl (line 2333) | async def test_ttl(self, r: redis.Redis): method test_ttl_nokey (line 2341) | async def test_ttl_nokey(self, r: redis.Redis): method test_type (line 2345) | async def test_type(self, r: redis.Redis): method test_blpop (line 2361) | async def test_blpop(self, r: redis.Redis): method test_brpop (line 2383) | async def test_brpop(self, r: redis.Redis): method test_brpoplpush (line 2405) | async def test_brpoplpush(self, r: redis.Redis): method test_brpoplpush_empty_string (line 2415) | async def test_brpoplpush_empty_string(self, r: redis.Redis): method test_lindex (line 2419) | async def test_lindex(self, r: redis.Redis): method test_linsert (line 2425) | async def test_linsert(self, r: redis.Redis): method test_llen (line 2432) | async def test_llen(self, r: redis.Redis): method test_lpop (line 2436) | async def test_lpop(self, r: redis.Redis): method test_lpush (line 2443) | async def test_lpush(self, r: redis.Redis): method test_lpushx (line 2449) | async def test_lpushx(self, r: redis.Redis): method test_lrange (line 2456) | async def test_lrange(self, r: redis.Redis): method test_lrem (line 2462) | async def test_lrem(self, r: redis.Redis): method test_lset (line 2474) | async def test_lset(self, r: redis.Redis): method test_ltrim (line 2480) | async def test_ltrim(self, r: redis.Redis): method test_rpop (line 2485) | async def test_rpop(self, r: redis.Redis): method test_rpoplpush (line 2493) | async def test_rpoplpush(self, r: redis.Redis): method test_rpush (line 2500) | async def test_rpush(self, r: redis.Redis): method test_lpos (line 2507) | async def test_lpos(self, r: redis.Redis): method test_rpushx (line 2538) | async def test_rpushx(self, r: redis.Redis): method test_scan (line 2548) | async def test_scan(self, r: redis.Redis): method test_scan_type (line 2560) | async def test_scan_type(self, r: redis.Redis): method test_scan_iter (line 2569) | async def test_scan_iter(self, r: redis.Redis): method test_sscan (line 2579) | async def test_sscan(self, r: redis.Redis): method test_sscan_iter (line 2588) | async def test_sscan_iter(self, r: redis.Redis): method test_hscan (line 2596) | async def test_hscan(self, r: redis.Redis): method test_hscan_novalues (line 2607) | async def test_hscan_novalues(self, r: redis.Redis): method test_hscan_iter (line 2618) | async def test_hscan_iter(self, r: redis.Redis): method test_hscan_iter_novalues (line 2628) | async def test_hscan_iter_novalues(self, r: redis.Redis): method test_zscan (line 2640) | async def test_zscan(self, r: redis.Redis): method test_zscan_iter (line 2649) | async def test_zscan_iter(self, r: redis.Redis): method test_sadd (line 2657) | async def test_sadd(self, r: redis.Redis): method test_scard (line 2662) | async def test_scard(self, r: redis.Redis): method test_sdiff (line 2667) | async def test_sdiff(self, r: redis.Redis): method test_sdiffstore (line 2674) | async def test_sdiffstore(self, r: redis.Redis): method test_sinter (line 2683) | async def test_sinter(self, r: redis.Redis): method test_sinterstore (line 2690) | async def test_sinterstore(self, r: redis.Redis): method test_sismember (line 2698) | async def test_sismember(self, r: redis.Redis): method test_smembers (line 2705) | async def test_smembers(self, r: redis.Redis): method test_smove (line 2710) | async def test_smove(self, r: redis.Redis): method test_spop (line 2717) | async def test_spop(self, r: redis.Redis): method test_spop_multi_value (line 2725) | async def test_spop_multi_value(self, r: redis.Redis): method test_srandmember (line 2737) | async def test_srandmember(self, r: redis.Redis): method test_srandmember_multi_value (line 2743) | async def test_srandmember_multi_value(self, r: redis.Redis): method test_srem (line 2750) | async def test_srem(self, r: redis.Redis): method test_sunion (line 2757) | async def test_sunion(self, r: redis.Redis): method test_sunionstore (line 2763) | async def test_sunionstore(self, r: redis.Redis): method test_zadd (line 2770) | async def test_zadd(self, r: redis.Redis): method test_zadd_nx (line 2793) | async def test_zadd_nx(self, r: redis.Redis): method test_zadd_xx (line 2801) | async def test_zadd_xx(self, r: redis.Redis): method test_zadd_ch (line 2807) | async def test_zadd_ch(self, r: redis.Redis): method test_zadd_incr (line 2815) | async def test_zadd_incr(self, r: redis.Redis): method test_zadd_incr_with_xx (line 2819) | async def test_zadd_incr_with_xx(self, r: redis.Redis): method test_zcard (line 2825) | async def test_zcard(self, r: redis.Redis): method test_zcount (line 2829) | async def test_zcount(self, r: redis.Redis): method test_zdiff (line 2839) | async def test_zdiff(self, r): method test_zdiffstore (line 2848) | async def test_zdiffstore(self, r): method test_zincrby (line 2856) | async def test_zincrby(self, r: redis.Redis): method test_zlexcount (line 2864) | async def test_zlexcount(self, r: redis.Redis): method test_zinterstore_sum (line 2870) | async def test_zinterstore_sum(self, r: redis.Redis): method test_zinterstore_max (line 2881) | async def test_zinterstore_max(self, r: redis.Redis): method test_zinterstore_min (line 2892) | async def test_zinterstore_min(self, r: redis.Redis): method test_zinterstore_with_weight (line 2903) | async def test_zinterstore_with_weight(self, r: redis.Redis): method test_zpopmax (line 2914) | async def test_zpopmax(self, r: redis.Redis): method test_zpopmin (line 2926) | async def test_zpopmin(self, r: redis.Redis): method test_bzpopmax (line 2939) | async def test_bzpopmax(self, r: redis.Redis): method test_bzpopmin (line 2974) | async def test_bzpopmin(self, r: redis.Redis): method test_zrange (line 3007) | async def test_zrange(self, r: redis.Redis): method test_zrangebylex (line 3032) | async def test_zrangebylex(self, r: redis.Redis): method test_zrevrangebylex (line 3041) | async def test_zrevrangebylex(self, r: redis.Redis): method test_zrangebyscore (line 3055) | async def test_zrangebyscore(self, r: redis.Redis): method test_zrank (line 3091) | async def test_zrank(self, r: redis.Redis): method test_zrank_withscore (line 3098) | async def test_zrank_withscore(self, r: redis.Redis): method test_zrem (line 3112) | async def test_zrem(self, r: redis.Redis): method test_zrem_multiple_keys (line 3119) | async def test_zrem_multiple_keys(self, r: redis.Redis): method test_zremrangebylex (line 3125) | async def test_zremrangebylex(self, r: redis.Redis): method test_zremrangebyrank (line 3134) | async def test_zremrangebyrank(self, r: redis.Redis): method test_zremrangebyscore (line 3139) | async def test_zremrangebyscore(self, r: redis.Redis): method test_zrevrange (line 3146) | async def test_zrevrange(self, r: redis.Redis): method test_zrevrangebyscore (line 3180) | async def test_zrevrangebyscore(self, r: redis.Redis): method test_zrevrank (line 3207) | async def test_zrevrank(self, r: redis.Redis): method test_zrevrank_withscore (line 3214) | async def test_zrevrank_withscore(self, r: redis.Redis): method test_zscore (line 3224) | async def test_zscore(self, r: redis.Redis): method test_zunionstore_sum (line 3231) | async def test_zunionstore_sum(self, r: redis.Redis): method test_zunionstore_max (line 3245) | async def test_zunionstore_max(self, r: redis.Redis): method test_zunionstore_min (line 3259) | async def test_zunionstore_min(self, r: redis.Redis): method test_zunionstore_with_weight (line 3273) | async def test_zunionstore_with_weight(self, r: redis.Redis): method test_pfadd (line 3288) | async def test_pfadd(self, r: redis.Redis): method test_pfcount (line 3296) | async def test_pfcount(self, r: redis.Redis): method test_pfmerge (line 3307) | async def test_pfmerge(self, r: redis.Redis): method test_hget_and_hset (line 3320) | async def test_hget_and_hset(self, r: redis.Redis): method test_hset_with_multi_key_values (line 3341) | async def test_hset_with_multi_key_values(self, r: redis.Redis): method test_hset_without_data (line 3352) | async def test_hset_without_data(self, r: redis.Redis): method test_hdel (line 3356) | async def test_hdel(self, r: redis.Redis): method test_hexists (line 3363) | async def test_hexists(self, r: redis.Redis): method test_hgetall (line 3368) | async def test_hgetall(self, r: redis.Redis): method test_hincrby (line 3373) | async def test_hincrby(self, r: redis.Redis): method test_hincrbyfloat (line 3379) | async def test_hincrbyfloat(self, r: redis.Redis): method test_hkeys (line 3384) | async def test_hkeys(self, r: redis.Redis): method test_hlen (line 3391) | async def test_hlen(self, r: redis.Redis): method test_hmget (line 3395) | async def test_hmget(self, r: redis.Redis): method test_hmset (line 3399) | async def test_hmset(self, r: redis.Redis): method test_hsetnx (line 3405) | async def test_hsetnx(self, r: redis.Redis): method test_hvals (line 3412) | async def test_hvals(self, r: redis.Redis): method test_hstrlen (line 3420) | async def test_hstrlen(self, r: redis.Redis): method test_sort_basic (line 3426) | async def test_sort_basic(self, r: redis.Redis): method test_sort_limited (line 3430) | async def test_sort_limited(self, r: redis.Redis): method test_sort_by (line 3435) | async def test_sort_by(self, r: redis.Redis): method test_sort_get (line 3443) | async def test_sort_get(self, r: redis.Redis): method test_sort_get_multi (line 3451) | async def test_sort_get_multi(self, r: redis.Redis): method test_sort_get_groups_two (line 3466) | async def test_sort_get_groups_two(self, r: redis.Redis): method test_sort_groups_string_get (line 3478) | async def test_sort_groups_string_get(self, r: redis.Redis): method test_sort_groups_just_one_get (line 3487) | async def test_sort_groups_just_one_get(self, r: redis.Redis): method test_sort_groups_no_get (line 3495) | async def test_sort_groups_no_get(self, r: redis.Redis): method test_sort_groups_three_gets (line 3504) | async def test_sort_groups_three_gets(self, r: redis.Redis): method test_sort_desc (line 3518) | async def test_sort_desc(self, r: redis.Redis): method test_sort_alpha (line 3522) | async def test_sort_alpha(self, r: redis.Redis): method test_sort_store (line 3527) | async def test_sort_store(self, r: redis.Redis): method test_sort_all_options (line 3533) | async def test_sort_all_options(self, r: redis.Redis): method test_sort_issue_924 (line 3571) | async def test_sort_issue_924(self, r: redis.Redis): method test_cluster_addslots (line 3577) | async def test_cluster_addslots(self, mock_cluster_resp_ok): method test_cluster_count_failure_reports (line 3581) | async def test_cluster_count_failure_reports(self, mock_cluster_resp_i... method test_cluster_countkeysinslot (line 3587) | async def test_cluster_countkeysinslot(self, mock_cluster_resp_int): method test_cluster_delslots (line 3593) | async def test_cluster_delslots(self, mock_cluster_resp_ok): method test_cluster_failover (line 3597) | async def test_cluster_failover(self, mock_cluster_resp_ok): method test_cluster_forget (line 3601) | async def test_cluster_forget(self, mock_cluster_resp_ok): method test_cluster_info (line 3605) | async def test_cluster_info(self, mock_cluster_resp_info): method test_cluster_keyslot (line 3609) | async def test_cluster_keyslot(self, mock_cluster_resp_int): method test_cluster_meet (line 3613) | async def test_cluster_meet(self, mock_cluster_resp_ok): method test_cluster_nodes (line 3617) | async def test_cluster_nodes(self, mock_cluster_resp_nodes): method test_cluster_replicate (line 3621) | async def test_cluster_replicate(self, mock_cluster_resp_ok): method test_cluster_reset (line 3625) | async def test_cluster_reset(self, mock_cluster_resp_ok): method test_cluster_saveconfig (line 3629) | async def test_cluster_saveconfig(self, mock_cluster_resp_ok): method test_cluster_setslot (line 3633) | async def test_cluster_setslot(self, mock_cluster_resp_ok): method test_cluster_slaves (line 3640) | async def test_cluster_slaves(self, mock_cluster_resp_slaves): method test_readwrite (line 3648) | async def test_readwrite(self, r: redis.Redis): method test_readonly_invalid_cluster_state (line 3653) | async def test_readonly_invalid_cluster_state(self, r: redis.Redis): method test_readonly (line 3659) | async def test_readonly(self, mock_cluster_resp_ok): method test_geoadd (line 3664) | async def test_geoadd(self, r: redis.Redis): method test_geoadd_invalid_params (line 3675) | async def test_geoadd_invalid_params(self, r: redis.Redis): method test_geodist (line 3680) | async def test_geodist(self, r: redis.Redis): method test_geodist_units (line 3691) | async def test_geodist_units(self, r: redis.Redis): method test_geodist_missing_one_member (line 3702) | async def test_geodist_missing_one_member(self, r: redis.Redis): method test_geodist_invalid_units (line 3708) | async def test_geodist_invalid_units(self, r: redis.Redis): method test_geohash (line 3713) | async def test_geohash(self, r: redis.Redis): method test_geopos (line 3729) | async def test_geopos(self, r: redis.Redis): method test_geopos_no_value (line 3752) | async def test_geopos_no_value(self, r: redis.Redis): method test_old_geopos_no_value (line 3757) | async def test_old_geopos_no_value(self, r: redis.Redis): method test_georadius (line 3761) | async def test_georadius(self, r: redis.Redis): method test_georadius_no_values (line 3773) | async def test_georadius_no_values(self, r: redis.Redis): method test_georadius_units (line 3784) | async def test_georadius_units(self, r: redis.Redis): method test_georadius_with (line 3798) | async def test_georadius_with(self, r: redis.Redis): method test_georadius_count (line 3853) | async def test_georadius_count(self, r: redis.Redis): method test_georadius_sort (line 3866) | async def test_georadius_sort(self, r: redis.Redis): method test_georadius_store (line 3885) | async def test_georadius_store(self, r: redis.Redis): method test_georadius_store_dist (line 3899) | async def test_georadius_store_dist(self, r: redis.Redis): method test_georadiusmember (line 3915) | async def test_georadiusmember(self, r: redis.Redis): method test_xack (line 3947) | async def test_xack(self, r: redis.Redis): method test_xadd (line 3968) | async def test_xadd(self, r: redis.Redis): method test_xclaim (line 3982) | async def test_xclaim(self, r: redis.Redis): method test_xclaim_trimmed (line 4020) | async def test_xclaim_trimmed(self, r: redis.Redis): method test_xdel (line 4044) | async def test_xdel(self, r: redis.Redis): method test_xgroup_create (line 4059) | async def test_xgroup_create(self, r: redis.Redis): method test_xgroup_create_mkstream (line 4082) | async def test_xgroup_create_mkstream(self, r: redis.Redis): method test_xgroup_delconsumer (line 4108) | async def test_xgroup_delconsumer(self, r: redis.Redis): method test_xgroup_destroy (line 4126) | async def test_xgroup_destroy(self, r: redis.Redis): method test_xgroup_setid (line 4139) | async def test_xgroup_setid(self, r: redis.Redis): method test_xgroup_setid_fixed_max_entries_read (line 4160) | async def test_xgroup_setid_fixed_max_entries_read(self, r): method test_xinfo_consumers (line 4182) | async def test_xinfo_consumers(self, r: redis.Redis): method test_xinfo_stream (line 4209) | async def test_xinfo_stream(self, r: redis.Redis): method test_xinfo_stream_full (line 4226) | async def test_xinfo_stream_full(self, r: redis.Redis): method test_xinfo_stream_idempotent_fields (line 4245) | async def test_xinfo_stream_idempotent_fields(self, r: redis.Redis): method test_xlen (line 4297) | async def test_xlen(self, r: redis.Redis): method test_xpending (line 4305) | async def test_xpending(self, r: redis.Redis): method test_xpending_range (line 4334) | async def test_xpending_range(self, r: redis.Redis): method test_xrange (line 4358) | async def test_xrange(self, r: redis.Redis): method test_xread (line 4381) | async def test_xread(self, r: redis.Redis): method test_xreadgroup (line 4412) | async def test_xreadgroup(self, r: redis.Redis): method _validate_xreadgroup_with_claim_min_idle_time_response (line 4478) | def _validate_xreadgroup_with_claim_min_idle_time_response( method test_xreadgroup_with_claim_min_idle_time (line 4514) | async def test_xreadgroup_with_claim_min_idle_time(self, r): method test_xreadgroup_with_claim_min_idle_time_multiple_streams_same_slots (line 4598) | async def test_xreadgroup_with_claim_min_idle_time_multiple_streams_sa... method test_xreadgroup_with_claim_min_idle_time_multiple_streams (line 4717) | async def test_xreadgroup_with_claim_min_idle_time_multiple_streams(se... method test_xrevrange (line 4833) | async def test_xrevrange(self, r: redis.Redis): method test_xtrim (line 4856) | async def test_xtrim(self, r: redis.Redis): method test_xdelex (line 4875) | async def test_xdelex(self, r: redis.Redis): method test_xackdel (line 4917) | async def test_xackdel(self, r: redis.Redis): method test_xtrim_with_options (line 4958) | async def test_xtrim_with_options(self, r: redis.Redis): method test_xadd_with_options (line 4993) | async def test_xadd_with_options(self, r: redis.Redis): method test_xadd_idmpauto (line 5025) | async def test_xadd_idmpauto(self, r: redis.Redis): method test_xadd_idmp (line 5047) | async def test_xadd_idmp(self, r: redis.Redis): method test_xadd_idmp_validation (line 5080) | async def test_xadd_idmp_validation(self, r: redis.Redis): method test_xcfgset_idmp_duration (line 5117) | async def test_xcfgset_idmp_duration(self, r: redis.Redis): method test_xcfgset_idmp_maxsize (line 5133) | async def test_xcfgset_idmp_maxsize(self, r: redis.Redis): method test_xcfgset_both_parameters (line 5149) | async def test_xcfgset_both_parameters(self, r: redis.Redis): method test_xcfgset_validation (line 5162) | async def test_xcfgset_validation(self, r: redis.Redis): method test_bitfield_operations (line 5194) | async def test_bitfield_operations(self, r: redis.Redis): method test_bitfield_ro (line 5264) | async def test_bitfield_ro(self, r: redis.Redis): method test_memory_stats (line 5277) | async def test_memory_stats(self, r: redis.Redis): method test_memory_usage (line 5288) | async def test_memory_usage(self, r: redis.Redis): method test_module_list (line 5293) | async def test_module_list(self, r: redis.Redis): method test_interrupted_command (line 5299) | async def test_interrupted_command(self, r: redis.Redis): class TestBinarySave (line 5331) | class TestBinarySave: method test_binary_get_set (line 5332) | async def test_binary_get_set(self, r: redis.Redis): method test_binary_lists (line 5352) | async def test_binary_lists(self, r: redis.Redis): method test_22_info (line 5369) | async def test_22_info(self, r: redis.Redis): method test_large_responses (line 5405) | async def test_large_responses(self, r: redis.Redis): method test_floating_point_encoding (line 5412) | async def test_floating_point_encoding(self, r: redis.Redis): class TestAsyncXreadXreadgroupMetricsExport (line 5423) | class TestAsyncXreadXreadgroupMetricsExport: method test_async_xread_exports_streaming_lag_metric (line 5427) | async def test_async_xread_exports_streaming_lag_metric(self, r: redis... method test_async_xreadgroup_exports_streaming_lag_metric_with_consumer_group (line 5453) | async def test_async_xreadgroup_exports_streaming_lag_metric_with_cons... method test_async_xread_handles_empty_response (line 5493) | async def test_async_xread_handles_empty_response(self, r: redis.Redis): FILE: tests/test_asyncio/test_connect.py function tcp_address (line 24) | def tcp_address(): function uds_address (line 31) | def uds_address(tmpdir): function test_tcp_connect (line 35) | async def test_tcp_connect(tcp_address): function test_uds_connect (line 41) | async def test_uds_connect(uds_address): function test_tcp_ssl_tls12_custom_ciphers (line 58) | async def test_tcp_ssl_tls12_custom_ciphers(tcp_address, ssl_ciphers): function test_tcp_ssl_connect (line 93) | async def test_tcp_ssl_connect(tcp_address, ssl_min_version): function test_tcp_ssl_version_mismatch (line 121) | async def test_tcp_ssl_version_mismatch(tcp_address): function _assert_connect (line 143) | async def _assert_connect( function _redis_request_handler (line 190) | async def _redis_request_handler(reader, writer, stop_event): FILE: tests/test_asyncio/test_connection.py function test_invalid_response (line 33) | async def test_invalid_response(create_redis): function test_single_connection (line 54) | async def test_single_connection(): function test_loading_external_modules (line 104) | async def test_loading_external_modules(r): function test_socket_param_regression (line 124) | async def test_socket_param_regression(r): function test_can_run_concurrent_commands (line 130) | async def test_can_run_concurrent_commands(r): function test_connect_retry_on_timeout_error (line 139) | async def test_connect_retry_on_timeout_error(connect_args): function test_connect_without_retry_on_non_retryable_error (line 160) | async def test_connect_without_retry_on_non_retryable_error(): function test_connect_with_retries (line 172) | async def test_connect_with_retries(): function test_connect_timeout_error_without_retry (line 187) | async def test_connect_timeout_error_without_retry(): function test_connection_parse_response_resume (line 200) | async def test_connection_parse_response_resume(r: redis.Redis): function test_connection_disconect_race (line 234) | async def test_connection_disconect_race(parser_class, connect_args): function test_create_single_connection_client_from_url (line 315) | def test_create_single_connection_client_from_url(): function test_pool_auto_close (line 321) | async def test_pool_auto_close(request, from_url): function test_close_is_aclose (line 337) | async def test_close_is_aclose(request): function test_pool_from_url_deprecation (line 356) | async def test_pool_from_url_deprecation(request): function test_pool_auto_close_disable (line 363) | async def test_pool_auto_close_disable(request): function test_redis_connection_pool (line 381) | async def test_redis_connection_pool(request, from_url): function test_redis_from_pool (line 413) | async def test_redis_from_pool(request, from_url): function test_redis_pool_auto_close_arg (line 445) | async def test_redis_pool_auto_close_arg(request, auto_close): function test_client_garbage_collection (line 471) | async def test_client_garbage_collection(request): function test_connection_garbage_collection (line 494) | async def test_connection_garbage_collection(request): function test_format_error_message (line 547) | async def test_format_error_message(conn, error, expected_message): function test_network_connection_failure (line 553) | async def test_network_connection_failure(): function test_unix_socket_connection_failure (line 560) | async def test_unix_socket_connection_failure(): FILE: tests/test_asyncio/test_connection_pool.py class TestRedisAutoReleaseConnectionPool (line 27) | class TestRedisAutoReleaseConnectionPool: method r (line 29) | async def r(self, create_redis) -> redis.Redis: method get_total_connected_connections (line 36) | def get_total_connected_connections(pool): method create_two_conn (line 40) | async def create_two_conn(r: redis.Redis): method has_no_connected_connections (line 46) | def has_no_connected_connections(pool: redis.ConnectionPool): method test_auto_disconnect_redis_created_pool (line 52) | async def test_auto_disconnect_redis_created_pool(self, r: redis.Redis): method test_do_not_auto_disconnect_redis_created_pool (line 59) | async def test_do_not_auto_disconnect_redis_created_pool(self, r2: red... method test_auto_release_override_true_manual_created_pool (line 72) | async def test_auto_release_override_true_manual_created_pool(self, r:... method test_close_override (line 83) | async def test_close_override(self, r: redis.Redis, auto_close_conn_po... method test_negate_auto_close_client_pool (line 90) | async def test_negate_auto_close_client_pool( class DummyConnection (line 102) | class DummyConnection(Connection): method __init__ (line 105) | def __init__(self, **kwargs): method repr_pieces (line 109) | def repr_pieces(self): method connect (line 112) | async def connect(self): method disconnect (line 115) | async def disconnect(self): method is_connected (line 119) | def is_connected(self): method can_read_destructive (line 122) | async def can_read_destructive(self, timeout: float = 0): method set_re_auth_token (line 125) | def set_re_auth_token(self, token: TokenInterface): method re_auth (line 128) | async def re_auth(self): method should_reconnect (line 131) | def should_reconnect(self): class TestConnectionPool (line 135) | class TestConnectionPool: method get_pool (line 137) | async def get_pool( method test_connection_creation (line 154) | async def test_connection_creation(self): method test_aclosing (line 163) | async def test_aclosing(self): method test_multiple_connections (line 173) | async def test_multiple_connections(self, master_host): method test_max_connections (line 180) | async def test_max_connections(self, master_host): method test_reuse_previously_released_connection (line 190) | async def test_reuse_previously_released_connection(self, master_host): method test_repr_contains_db_info_tcp (line 198) | async def test_repr_contains_db_info_tcp(self): method test_repr_contains_db_info_unix (line 211) | async def test_repr_contains_db_info_unix(self): method test_pool_disconnect (line 220) | async def test_pool_disconnect(self, master_host): method test_lock_not_held_during_connection_establishment (line 234) | async def test_lock_not_held_during_connection_establishment(self): method test_concurrent_connection_acquisition_performance (line 265) | async def test_concurrent_connection_acquisition_performance(self): class TestBlockingConnectionPool (line 310) | class TestBlockingConnectionPool: method get_pool (line 312) | async def get_pool(self, connection_kwargs=None, max_connections=10, t... method test_connection_creation (line 325) | async def test_connection_creation(self, master_host): method test_pool_disconnect (line 337) | async def test_pool_disconnect(self, master_host): method test_multiple_connections (line 353) | async def test_multiple_connections(self, master_host): method test_connection_pool_blocks_until_timeout (line 360) | async def test_connection_pool_blocks_until_timeout(self, master_host): method test_connection_pool_blocks_until_conn_available (line 376) | async def test_connection_pool_blocks_until_conn_available(self, maste... method test_reuse_previously_released_connection (line 396) | async def test_reuse_previously_released_connection(self, master_host): method test_repr_contains_db_info_tcp (line 404) | def test_repr_contains_db_info_tcp(self): method test_repr_contains_db_info_unix (line 411) | def test_repr_contains_db_info_unix(self): method test_repr_redacts_sensitive_information (line 421) | def test_repr_redacts_sensitive_information(self): class TestConnectionPoolURLParsing (line 447) | class TestConnectionPoolURLParsing: method test_hostname (line 448) | def test_hostname(self): method test_quoted_hostname (line 453) | def test_quoted_hostname(self): method test_port (line 458) | def test_port(self): method test_username (line 464) | def test_username(self): method test_quoted_username (line 470) | def test_quoted_username(self): method test_password (line 480) | def test_password(self): method test_quoted_password (line 485) | def test_quoted_password(self): method test_username_and_password (line 496) | def test_username_and_password(self): method test_db_as_argument (line 505) | def test_db_as_argument(self): method test_db_in_path (line 510) | def test_db_in_path(self): method test_db_in_querystring (line 515) | def test_db_in_querystring(self): method test_extra_typed_querystring_options (line 520) | def test_extra_typed_querystring_options(self): method test_boolean_parsing (line 536) | def test_boolean_parsing(self): method test_client_name_in_querystring (line 556) | def test_client_name_in_querystring(self): method test_invalid_extra_typed_querystring_options (line 560) | def test_invalid_extra_typed_querystring_options(self): method test_extra_querystring_options (line 566) | def test_extra_querystring_options(self): method test_calling_from_subclass_returns_correct_instance (line 571) | def test_calling_from_subclass_returns_correct_instance(self): method test_client_creates_connection_pool (line 575) | def test_client_creates_connection_pool(self): method test_invalid_scheme_raises_error (line 580) | def test_invalid_scheme_raises_error(self): class TestBlockingConnectionPoolURLParsing (line 589) | class TestBlockingConnectionPoolURLParsing: method test_extra_typed_querystring_options (line 590) | def test_extra_typed_querystring_options(self): method test_invalid_extra_typed_querystring_options (line 607) | def test_invalid_extra_typed_querystring_options(self): class TestConnectionPoolUnixSocketURLParsing (line 614) | class TestConnectionPoolUnixSocketURLParsing: method test_defaults (line 615) | def test_defaults(self): method test_username (line 621) | def test_username(self): method test_quoted_username (line 627) | def test_quoted_username(self): method test_password (line 637) | def test_password(self): method test_quoted_password (line 642) | def test_quoted_password(self): method test_quoted_path (line 652) | def test_quoted_path(self): method test_db_as_argument (line 662) | def test_db_as_argument(self): method test_db_in_querystring (line 667) | def test_db_in_querystring(self): method test_client_name_in_querystring (line 672) | def test_client_name_in_querystring(self): method test_extra_querystring_options (line 676) | def test_extra_querystring_options(self): class TestSSLConnectionURLParsing (line 682) | class TestSSLConnectionURLParsing: method test_host (line 683) | def test_host(self): method test_cert_reqs_options (line 688) | def test_cert_reqs_options(self): class TestConnection (line 711) | class TestConnection: method test_on_connect_error (line 712) | async def test_on_connect_error(self): method test_busy_loading_disconnects_socket (line 730) | async def test_busy_loading_disconnects_socket(self, r): method test_busy_loading_from_pipeline_immediate_command (line 743) | async def test_busy_loading_from_pipeline_immediate_command(self, r): method test_busy_loading_from_pipeline (line 761) | async def test_busy_loading_from_pipeline(self, r): method test_read_only_error (line 777) | async def test_read_only_error(self, r): method test_oom_error (line 783) | async def test_oom_error(self, r): method test_connect_from_url_tcp (line 790) | def test_connect_from_url_tcp(self): method test_connect_from_url_unix (line 802) | def test_connect_from_url_unix(self): method test_connect_no_auth_supplied_when_required (line 815) | async def test_connect_no_auth_supplied_when_required(self, r): method test_connect_invalid_password_supplied (line 826) | async def test_connect_invalid_password_supplied(self, r): class TestMultiConnectionClient (line 833) | class TestMultiConnectionClient: method r (line 835) | async def r(self, create_redis, server): class TestHealthCheck (line 843) | class TestHealthCheck: method r (line 847) | async def r(self, create_redis): method assert_interval_advanced (line 852) | def assert_interval_advanced(self, connection): method test_health_check_runs (line 856) | async def test_health_check_runs(self, r): method test_arbitrary_command_invokes_health_check (line 862) | async def test_arbitrary_command_invokes_health_check(self, r): method test_arbitrary_command_advances_next_health_check (line 875) | async def test_arbitrary_command_advances_next_health_check(self, r): method test_health_check_not_invoked_within_interval (line 884) | async def test_health_check_not_invoked_within_interval(self, r): method test_health_check_in_pipeline (line 894) | async def test_health_check_in_pipeline(self, r): method test_health_check_in_transaction (line 905) | async def test_health_check_in_transaction(self, r): method test_health_check_in_watched_pipeline (line 916) | async def test_health_check_in_watched_pipeline(self, r): method test_health_check_in_pubsub_before_subscribe (line 940) | async def test_health_check_in_pubsub_before_subscribe(self, r): method test_health_check_in_pubsub_after_subscribed (line 959) | async def test_health_check_in_pubsub_after_subscribed(self, r): method test_health_check_in_pubsub_poll (line 999) | async def test_health_check_in_pubsub_poll(self, r): class TestAsyncConnectionPoolMetricsRecording (line 1032) | class TestAsyncConnectionPoolMetricsRecording: method test_connection_pool_records_create_time_on_new_connection (line 1035) | async def test_connection_pool_records_create_time_on_new_connection(s... method test_connection_pool_does_not_record_create_time_for_existing_connection (line 1063) | async def test_connection_pool_does_not_record_create_time_for_existin... method test_blocking_connection_pool_records_create_time_and_wait_time (line 1088) | async def test_blocking_connection_pool_records_create_time_and_wait_t... method test_blocking_connection_pool_records_only_wait_time_for_existing_connection (line 1126) | async def test_blocking_connection_pool_records_only_wait_time_for_exi... method test_connection_disconnect_records_connection_closed_on_error (line 1161) | async def test_connection_disconnect_records_connection_closed_on_erro... method test_connection_disconnect_records_connection_closed_on_healthcheck_failed (line 1183) | async def test_connection_disconnect_records_connection_closed_on_heal... method test_connection_disconnect_records_connection_closed_on_application_close (line 1207) | async def test_connection_disconnect_records_connection_closed_on_appl... FILE: tests/test_asyncio/test_credentials.py function endpoint (line 31) | def endpoint(request): function r_credential (line 43) | async def r_credential(request, create_redis, endpoint): function r_acl_teardown (line 57) | async def r_acl_teardown(r: redis.Redis): function r_required_pass_teardown (line 73) | async def r_required_pass_teardown(r: redis.Redis): class NoPassCredProvider (line 92) | class NoPassCredProvider(CredentialProvider): method get_credentials (line 93) | def get_credentials(self) -> Union[Tuple[str], Tuple[str, str]]: class AsyncRandomAuthCredProvider (line 97) | class AsyncRandomAuthCredProvider(CredentialProvider): method __init__ (line 98) | def __init__(self, user: Optional[str], endpoint: str): method get_credentials (line 103) | def get_credentials(self) -> Union[Tuple[str, str], Tuple[str]]: function init_acl_user (line 117) | async def init_acl_user(r, username, password): function init_required_pass (line 158) | async def init_required_pass(r, password): class TestCredentialsProvider (line 163) | class TestCredentialsProvider: method test_only_pass_without_creds_provider (line 165) | async def test_only_pass_without_creds_provider( method test_user_and_pass_without_creds_provider (line 179) | async def test_user_and_pass_without_creds_provider( method test_credential_provider_with_supplier (line 197) | async def test_credential_provider_with_supplier( method test_async_credential_provider_no_password_success (line 219) | async def test_async_credential_provider_no_password_success( method test_credential_provider_no_password_error (line 232) | async def test_credential_provider_no_password_error( method test_password_and_username_together_with_cred_provider_raise_error (line 248) | async def test_password_and_username_together_with_cred_provider_raise... method test_change_username_password_on_existing_connection (line 271) | async def test_change_username_password_on_existing_connection( class TestUsernamePasswordCredentialProvider (line 295) | class TestUsernamePasswordCredentialProvider: method test_user_pass_credential_provider_acl_user_and_pass (line 296) | async def test_user_pass_credential_provider_acl_user_and_pass( method test_user_pass_provider_only_password (line 310) | async def test_user_pass_provider_only_password( class TestStreamingCredentialProvider (line 330) | class TestStreamingCredentialProvider: method test_async_re_auth_all_connections (line 342) | async def test_async_re_auth_all_connections(self, credential_provider): method test_async_re_auth_partial_connections (line 393) | async def test_async_re_auth_partial_connections(self, credential_prov... method test_re_auth_pub_sub_in_resp3 (line 456) | async def test_re_auth_pub_sub_in_resp3(self, credential_provider): method test_do_not_re_auth_pub_sub_in_resp2 (line 529) | async def test_do_not_re_auth_pub_sub_in_resp2(self, credential_provid... method test_fails_on_token_renewal (line 601) | async def test_fails_on_token_renewal(self, credential_provider): class TestEntraIdCredentialsProvider (line 631) | class TestEntraIdCredentialsProvider: method test_async_auth_pool_with_credential_provider (line 653) | async def test_async_auth_pool_with_credential_provider(self, r_creden... method test_async_pipeline_with_credential_provider (line 673) | async def test_async_pipeline_with_credential_provider(self, r_credent... method test_async_auth_pubsub_with_credential_provider (line 693) | async def test_async_auth_pubsub_with_credential_provider( class TestClusterEntraIdCredentialsProvider (line 711) | class TestClusterEntraIdCredentialsProvider: method test_async_auth_pool_with_credential_provider (line 733) | async def test_async_auth_pool_with_credential_provider(self, r_creden... FILE: tests/test_asyncio/test_cwe_404.py class DelayProxy (line 10) | class DelayProxy: method __init__ (line 11) | def __init__(self, addr, redis_addr, delay: float = 0.0): method __aenter__ (line 21) | async def __aenter__(self): method __aexit__ (line 25) | async def __aexit__(self, *args): method start (line 28) | async def start(self): method set_delay (line 39) | def set_delay(self, delay: float = 0.0): method handle (line 51) | async def handle(self, reader, writer): method stop (line 60) | async def stop(self): method pipe (line 73) | async def pipe( function test_standalone (line 108) | async def test_standalone(delay, master_host): function test_standalone_pipeline (line 145) | async def test_standalone_pipeline(delay, master_host): function test_cluster (line 195) | async def test_cluster(master_host): FILE: tests/test_asyncio/test_encoding.py class TestEncoding (line 8) | class TestEncoding: method r (line 10) | async def r(self, create_redis): method r_no_decode (line 16) | async def r_no_decode(self, create_redis): method test_simple_encoding (line 21) | async def test_simple_encoding(self, r_no_decode: redis.Redis): method test_simple_encoding_and_decoding (line 28) | async def test_simple_encoding_and_decoding(self, r: redis.Redis): method test_memoryview_encoding (line 35) | async def test_memoryview_encoding(self, r_no_decode: redis.Redis): method test_memoryview_encoding_and_decoding (line 44) | async def test_memoryview_encoding_and_decoding(self, r: redis.Redis): method test_list_encoding (line 52) | async def test_list_encoding(self, r: redis.Redis): class TestEncodingErrors (line 60) | class TestEncodingErrors: method test_ignore (line 61) | async def test_ignore(self, create_redis): method test_replace (line 66) | async def test_replace(self, create_redis): class TestMemoryviewsAreNotPacked (line 73) | class TestMemoryviewsAreNotPacked: method test_memoryviews_are_not_packed (line 74) | async def test_memoryviews_are_not_packed(self, r): class TestCommandsAreNotEncoded (line 85) | class TestCommandsAreNotEncoded: method r (line 87) | async def r(self, create_redis): method test_basic_command (line 93) | async def test_basic_command(self, r: redis.Redis): class TestInvalidUserInput (line 97) | class TestInvalidUserInput: method test_boolean_fails (line 98) | async def test_boolean_fails(self, r: redis.Redis): method test_none_fails (line 102) | async def test_none_fails(self, r: redis.Redis): method test_user_type_fails (line 106) | async def test_user_type_fails(self, r: redis.Redis): FILE: tests/test_asyncio/test_hash.py function test_hexpire_basic (line 14) | async def test_hexpire_basic(r): function test_hexpire_with_timedelta (line 24) | async def test_hexpire_with_timedelta(r): function test_hexpire_conditions (line 34) | async def test_hexpire_conditions(r): function test_hexpire_nonexistent_key_or_field (line 52) | async def test_hexpire_nonexistent_key_or_field(r): function test_hexpire_multiple_fields (line 60) | async def test_hexpire_multiple_fields(r): function test_hpexpire_basic (line 74) | async def test_hpexpire_basic(r): function test_hpexpire_with_timedelta (line 84) | async def test_hpexpire_with_timedelta(r): function test_hpexpire_conditions (line 94) | async def test_hpexpire_conditions(r): function test_hpexpire_nonexistent_key_or_field (line 112) | async def test_hpexpire_nonexistent_key_or_field(r): function test_hpexpire_multiple_fields (line 120) | async def test_hpexpire_multiple_fields(r): function test_hexpireat_basic (line 134) | async def test_hexpireat_basic(r): function test_hexpireat_with_datetime (line 145) | async def test_hexpireat_with_datetime(r): function test_hexpireat_conditions (line 156) | async def test_hexpireat_conditions(r): function test_hexpireat_nonexistent_key_or_field (line 169) | async def test_hexpireat_nonexistent_key_or_field(r): function test_hexpireat_multiple_fields (line 178) | async def test_hexpireat_multiple_fields(r): function test_hpexpireat_basic (line 193) | async def test_hpexpireat_basic(r): function test_hpexpireat_with_datetime (line 204) | async def test_hpexpireat_with_datetime(r): function test_hpexpireat_conditions (line 215) | async def test_hpexpireat_conditions(r): function test_hpexpireat_nonexistent_key_or_field (line 232) | async def test_hpexpireat_nonexistent_key_or_field(r): function test_hpexpireat_multiple_fields (line 243) | async def test_hpexpireat_multiple_fields(r): function test_hpersist_multiple_fields_mixed_conditions (line 258) | async def test_hpersist_multiple_fields_mixed_conditions(r): function test_hexpiretime_multiple_fields_mixed_conditions (line 266) | async def test_hexpiretime_multiple_fields_mixed_conditions(r): function test_hpexpiretime_multiple_fields_mixed_conditions (line 277) | async def test_hpexpiretime_multiple_fields_mixed_conditions(r): function test_ttl_multiple_fields_mixed_conditions (line 288) | async def test_ttl_multiple_fields_mixed_conditions(r): function test_pttl_multiple_fields_mixed_conditions (line 299) | async def test_pttl_multiple_fields_mixed_conditions(r): function test_hgetdel (line 310) | async def test_hgetdel(r): function test_hgetex_no_expiration (line 325) | async def test_hgetex_no_expiration(r): function test_hgetex_expiration_configs (line 337) | async def test_hgetex_expiration_configs(r): function test_hgetex_validate_expired_fields_removed (line 384) | async def test_hgetex_validate_expired_fields_removed(r): function test_hgetex_invalid_inputs (line 404) | async def test_hgetex_invalid_inputs(r): function test_hsetex_no_expiration (line 419) | async def test_hsetex_no_expiration(r): function test_hsetex_expiration_ex_and_keepttl (line 429) | async def test_hsetex_expiration_ex_and_keepttl(r): function test_hsetex_expiration_px (line 464) | async def test_hsetex_expiration_px(r): function test_hsetex_expiration_pxat_and_fnx (line 481) | async def test_hsetex_expiration_pxat_and_fnx(r): function test_hsetex_expiration_exat_and_fxx (line 527) | async def test_hsetex_expiration_exat_and_fxx(r): function test_hsetex_invalid_inputs (line 566) | async def test_hsetex_invalid_inputs(r): FILE: tests/test_asyncio/test_json.py function decoded_r (line 10) | async def decoded_r(create_redis, stack_url): function test_json_setbinarykey (line 15) | async def test_json_setbinarykey(decoded_r: redis.Redis): function test_json_setgetdeleteforget (line 23) | async def test_json_setgetdeleteforget(decoded_r: redis.Redis): function test_jsonget (line 33) | async def test_jsonget(decoded_r: redis.Redis): function test_json_get_jset (line 39) | async def test_json_get_jset(decoded_r: redis.Redis): function test_nonascii_setgetdelete (line 48) | async def test_nonascii_setgetdelete(decoded_r: redis.Redis): function test_json_merge (line 57) | async def test_json_merge(decoded_r: redis.Redis): function test_jsonsetexistentialmodifiersshouldsucceed (line 91) | async def test_jsonsetexistentialmodifiersshouldsucceed(decoded_r: redis... function test_mgetshouldsucceed (line 109) | async def test_mgetshouldsucceed(decoded_r: redis.Redis): function test_mset (line 120) | async def test_mset(decoded_r: redis.Redis): function test_clear (line 131) | async def test_clear(decoded_r: redis.Redis): function test_type (line 138) | async def test_type(decoded_r: redis.Redis): function test_numincrby (line 152) | async def test_numincrby(decoded_r): function test_nummultby (line 164) | async def test_nummultby(decoded_r: redis.Redis): function test_toggle (line 178) | async def test_toggle(decoded_r: redis.Redis): function test_strappend (line 189) | async def test_strappend(decoded_r: redis.Redis): function test_strlen (line 196) | async def test_strlen(decoded_r: redis.Redis): function test_arrappend (line 205) | async def test_arrappend(decoded_r: redis.Redis): function test_arrindex (line 213) | async def test_arrindex(decoded_r: redis.Redis): function test_arrinsert (line 226) | async def test_arrinsert(decoded_r: redis.Redis): function test_arrlen (line 238) | async def test_arrlen(decoded_r: redis.Redis): function test_arrpop (line 246) | async def test_arrpop(decoded_r: redis.Redis): function test_arrtrim (line 264) | async def test_arrtrim(decoded_r: redis.Redis): function test_resp (line 287) | async def test_resp(decoded_r: redis.Redis): function test_objkeys (line 297) | async def test_objkeys(decoded_r: redis.Redis): function test_objlen (line 314) | async def test_objlen(decoded_r: redis.Redis): function test_json_delete_with_dollar (line 348) | async def test_json_delete_with_dollar(decoded_r: redis.Redis): function test_json_forget_with_dollar (line 400) | async def test_json_forget_with_dollar(decoded_r: redis.Redis): function test_json_mget_dollar (line 453) | async def test_json_mget_dollar(decoded_r: redis.Redis): function test_numby_commands_dollar (line 483) | async def test_numby_commands_dollar(decoded_r: redis.Redis): function test_strappend_dollar (line 542) | async def test_strappend_dollar(decoded_r: redis.Redis): function test_strlen_dollar (line 573) | async def test_strlen_dollar(decoded_r: redis.Redis): function test_arrappend_dollar (line 594) | async def test_arrappend_dollar(decoded_r: redis.Redis): function test_arrinsert_dollar (line 669) | async def test_arrinsert_dollar(decoded_r: redis.Redis): function test_arrlen_dollar (line 708) | async def test_arrlen_dollar(decoded_r: redis.Redis): function test_arrpop_dollar (line 754) | async def test_arrpop_dollar(decoded_r: redis.Redis): function test_arrtrim_dollar (line 796) | async def test_arrtrim_dollar(decoded_r: redis.Redis): function test_objkeys_dollar (line 848) | async def test_objkeys_dollar(decoded_r: redis.Redis): function test_objlen_dollar (line 878) | async def test_objlen_dollar(decoded_r: redis.Redis): function load_types_data (line 913) | def load_types_data(nested_key_name): function test_type_dollar (line 933) | async def test_type_dollar(decoded_r: redis.Redis): function test_clear_dollar (line 952) | async def test_clear_dollar(decoded_r: redis.Redis): function test_toggle_dollar (line 1004) | async def test_toggle_dollar(decoded_r: redis.Redis): FILE: tests/test_asyncio/test_lock.py class TestLock (line 9) | class TestLock: method r_decoded (line 11) | async def r_decoded(self, create_redis): method get_lock (line 16) | def get_lock(self, redis, *args, **kwargs): method test_lock (line 20) | async def test_lock(self, r): method test_lock_token (line 28) | async def test_lock_token(self, r): method test_lock_token_thread_local_false (line 32) | async def test_lock_token_thread_local_false(self, r): method _test_lock_token (line 36) | async def _test_lock_token(self, r, lock): method test_locked (line 45) | async def test_locked(self, r): method _test_owned (line 53) | async def _test_owned(self, client): method test_owned (line 71) | async def test_owned(self, r): method test_owned_with_decoded_responses (line 74) | async def test_owned_with_decoded_responses(self, r_decoded): method test_competing_locks (line 77) | async def test_competing_locks(self, r): method test_timeout (line 87) | async def test_timeout(self, r): method test_float_timeout (line 93) | async def test_float_timeout(self, r): method test_blocking (line 99) | async def test_blocking(self, r): method test_blocking_timeout (line 107) | async def test_blocking_timeout(self, r): method test_context_manager (line 119) | async def test_context_manager(self, r): method test_context_manager_raises_when_locked_not_acquired (line 126) | async def test_context_manager_raises_when_locked_not_acquired(self, r): method test_context_manager_not_raise_on_release_lock_not_owned_error (line 132) | async def test_context_manager_not_raise_on_release_lock_not_owned_err... method test_context_manager_not_raise_on_release_lock_error (line 147) | async def test_context_manager_not_raise_on_release_lock_error(self, r): method test_high_sleep_small_blocking_timeout (line 162) | async def test_high_sleep_small_blocking_timeout(self, r): method test_releasing_unlocked_lock_raises_error (line 175) | async def test_releasing_unlocked_lock_raises_error(self, r): method test_releasing_lock_no_longer_owned_raises_error (line 180) | async def test_releasing_lock_no_longer_owned_raises_error(self, r): method test_extend_lock (line 190) | async def test_extend_lock(self, r): method test_extend_lock_replace_ttl (line 198) | async def test_extend_lock_replace_ttl(self, r): method test_extend_lock_float (line 206) | async def test_extend_lock_float(self, r): method test_extending_unlocked_lock_raises_error (line 215) | async def test_extending_unlocked_lock_raises_error(self, r): method test_extending_lock_with_no_timeout_raises_error (line 220) | async def test_extending_lock_with_no_timeout_raises_error(self, r): method test_extending_lock_no_longer_owned_raises_error (line 227) | async def test_extending_lock_no_longer_owned_raises_error(self, r): method test_reacquire_lock (line 234) | async def test_reacquire_lock(self, r): method test_reacquiring_unlocked_lock_raises_error (line 243) | async def test_reacquiring_unlocked_lock_raises_error(self, r): method test_reacquiring_lock_with_no_timeout_raises_error (line 248) | async def test_reacquiring_lock_with_no_timeout_raises_error(self, r): method test_reacquiring_lock_no_longer_owned_raises_error (line 255) | async def test_reacquiring_lock_no_longer_owned_raises_error(self, r): method test_release_cancellation_preserves_lock_state (line 262) | async def test_release_cancellation_preserves_lock_state(self, r): class TestLockClassSelection (line 301) | class TestLockClassSelection: method test_lock_class_argument (line 302) | def test_lock_class_argument(self, r): FILE: tests/test_asyncio/test_monitor.py class TestMonitor (line 8) | class TestMonitor: method test_wait_command_not_found (line 9) | async def test_wait_command_not_found(self, r): method test_response_values (line 15) | async def test_response_values(self, r): method test_command_with_quoted_key (line 27) | async def test_command_with_quoted_key(self, r): method test_command_with_binary_data (line 33) | async def test_command_with_binary_data(self, r): method test_command_with_escaped_data (line 40) | async def test_command_with_escaped_data(self, r): method test_lua_script (line 48) | async def test_lua_script(self, r): method test_lua_script_in_enterprise (line 59) | async def test_lua_script_in_enterprise(self, r): FILE: tests/test_asyncio/test_multidb/conftest.py function mock_health_check_client (line 28) | def mock_health_check_client(request): function mock_client (line 51) | def mock_client() -> Redis: function mock_cb (line 56) | def mock_cb() -> CircuitBreaker: function mock_fd (line 61) | def mock_fd() -> AsyncFailureDetector: function mock_fs (line 66) | def mock_fs() -> AsyncFailoverStrategy: function mock_hc (line 71) | def mock_hc() -> HealthCheck: function _create_mock_db (line 82) | def _create_mock_db(request) -> Database: function mock_db (line 99) | def mock_db(request) -> Database: function mock_db1 (line 104) | def mock_db1(request) -> Database: function mock_db2 (line 109) | def mock_db2(request) -> Database: function mock_multi_db_config (line 114) | def mock_multi_db_config(request, mock_fd, mock_fs, mock_hc, mock_ed) ->... function create_weighted_list (line 145) | def create_weighted_list(*databases) -> Databases: FILE: tests/test_asyncio/test_multidb/test_client.py class TestMultiDbClient (line 26) | class TestMultiDbClient: method test_execute_command_against_correct_db_on_successful_initialization (line 40) | async def test_execute_command_against_correct_db_on_successful_initia... method test_execute_command_against_correct_db_and_closed_circuit (line 76) | async def test_execute_command_against_correct_db_and_closed_circuit( method test_execute_command_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 132) | async def test_execute_command_against_correct_db_on_background_health... method test_execute_command_auto_fallback_to_highest_weight_db (line 270) | async def test_execute_command_auto_fallback_to_highest_weight_db( method test_execute_command_do_not_auto_fallback_to_highest_weight_db (line 359) | async def test_execute_command_do_not_auto_fallback_to_highest_weight_db( method test_add_database_makes_new_database_active (line 433) | async def test_add_database_makes_new_database_active( method test_add_database_skip_unhealthy_false_raises_exception (line 492) | async def test_add_database_skip_unhealthy_false_raises_exception( method test_remove_highest_weighted_database (line 554) | async def test_remove_highest_weighted_database( method test_update_database_weight_to_be_highest (line 590) | async def test_update_database_weight_to_be_highest( method test_add_new_failure_detector (line 628) | async def test_add_new_failure_detector( method test_add_new_health_check (line 687) | async def test_add_new_health_check( method test_set_active_database (line 730) | async def test_set_active_database( class TestGeoFailoverMetricRecording (line 767) | class TestGeoFailoverMetricRecording: method test_manual_failover_records_metric (line 783) | async def test_manual_failover_records_metric( method test_automatic_failover_records_metric (line 831) | async def test_automatic_failover_records_metric( method test_no_metric_recorded_when_same_database (line 885) | async def test_no_metric_recorded_when_same_database( class TestInitialHealthCheckPolicy (line 915) | class TestInitialHealthCheckPolicy: method test_all_healthy_policy_succeeds_when_all_databases_healthy (line 931) | async def test_all_healthy_policy_succeeds_when_all_databases_healthy( method test_all_healthy_policy_fails_when_one_database_unhealthy (line 961) | async def test_all_healthy_policy_fails_when_one_database_unhealthy( method test_majority_healthy_policy_succeeds_when_majority_healthy (line 998) | async def test_majority_healthy_policy_succeeds_when_majority_healthy( method test_majority_healthy_policy_fails_when_minority_healthy (line 1034) | async def test_majority_healthy_policy_fails_when_minority_healthy( method test_any_healthy_policy_succeeds_when_one_database_healthy (line 1072) | async def test_any_healthy_policy_succeeds_when_one_database_healthy( method test_any_healthy_policy_fails_when_no_database_healthy (line 1107) | async def test_any_healthy_policy_fails_when_no_database_healthy( method test_custom_health_check_parameters_are_respected (line 1139) | async def test_custom_health_check_parameters_are_respected( method test_custom_health_check_timeout_triggers_unhealthy (line 1223) | async def test_custom_health_check_timeout_triggers_unhealthy( FILE: tests/test_asyncio/test_multidb/test_command_executor.py class TestDefaultCommandExecutor (line 19) | class TestDefaultCommandExecutor: method test_execute_command_on_active_database (line 32) | async def test_execute_command_on_active_database( method test_execute_command_automatically_select_active_database (line 67) | async def test_execute_command_automatically_select_active_database( method test_execute_command_fallback_to_another_db_after_fallback_interval (line 104) | async def test_execute_command_fallback_to_another_db_after_fallback_i... method test_execute_command_fallback_to_another_db_after_failure_detection (line 147) | async def test_execute_command_fallback_to_another_db_after_failure_de... FILE: tests/test_asyncio/test_multidb/test_config.py class TestMultiDbConfig (line 28) | class TestMultiDbConfig: method test_default_config (line 29) | def test_default_config(self): method test_overridden_config (line 69) | def test_overridden_config(self): class TestDatabaseConfig (line 144) | class TestDatabaseConfig: method test_default_config (line 145) | def test_default_config(self): method test_overridden_config (line 154) | def test_overridden_config(self): FILE: tests/test_asyncio/test_multidb/test_failover.py class TestAsyncWeightBasedFailoverStrategy (line 18) | class TestAsyncWeightBasedFailoverStrategy: method test_get_valid_database (line 37) | async def test_get_valid_database(self, mock_db, mock_db1, mock_db2): method test_throws_exception_on_empty_databases (line 60) | async def test_throws_exception_on_empty_databases( class TestDefaultStrategyExecutor (line 72) | class TestDefaultStrategyExecutor: method test_execute_returns_valid_database_with_failover_attempts (line 81) | async def test_execute_returns_valid_database_with_failover_attempts( method test_execute_throws_exception_on_attempts_exceed (line 110) | async def test_execute_throws_exception_on_attempts_exceed(self, mock_... method test_execute_throws_exception_on_attempts_does_not_exceed_delay (line 137) | async def test_execute_throws_exception_on_attempts_does_not_exceed_de... FILE: tests/test_asyncio/test_multidb/test_failure_detector.py class TestFailureDetectorAsyncWrapper (line 14) | class TestFailureDetectorAsyncWrapper: method test_failure_detector_correctly_reacts_to_failures (line 33) | async def test_failure_detector_correctly_reacts_to_failures( method test_failure_detector_do_not_open_circuit_on_interval_exceed (line 68) | async def test_failure_detector_do_not_open_circuit_on_interval_exceed( method test_failure_detector_open_circuit_on_specific_exception_threshold_exceed (line 103) | async def test_failure_detector_open_circuit_on_specific_exception_thr... FILE: tests/test_asyncio/test_multidb/test_healthcheck.py function _configure_mock_health_check (line 21) | def _configure_mock_health_check(mock_hc, probes=3, delay=0.01, timeout=... class TestHealthyAllPolicy (line 32) | class TestHealthyAllPolicy: method test_policy_returns_true_for_all_successful_probes (line 34) | async def test_policy_returns_true_for_all_successful_probes(self): method test_policy_returns_false_on_failed_probe (line 48) | async def test_policy_returns_false_on_failed_probe(self): method test_policy_raise_unhealthy_database_exception (line 63) | async def test_policy_raise_unhealthy_database_exception(self): method test_policy_raises_exception_when_health_check_times_out (line 75) | async def test_policy_raises_exception_when_health_check_times_out(self): method test_policy_succeeds_when_health_check_completes_within_timeout (line 103) | async def test_policy_succeeds_when_health_check_completes_within_time... class TestHealthyMajorityPolicy (line 126) | class TestHealthyMajorityPolicy: method test_policy_returns_true_for_majority_successful_probes (line 155) | async def test_policy_returns_true_for_majority_successful_probes( method test_policy_raise_unhealthy_database_exception_on_majority_probes_exceptions (line 198) | async def test_policy_raise_unhealthy_database_exception_on_majority_p... class TestHealthyAnyPolicy (line 213) | class TestHealthyAnyPolicy: method test_policy_returns_true_for_any_successful_probe (line 234) | async def test_policy_returns_true_for_any_successful_probe( method test_policy_raise_unhealthy_database_exception_if_exception_occurs_on_failed_health_check (line 253) | async def test_policy_raise_unhealthy_database_exception_if_exception_... class TestPingHealthCheck (line 268) | class TestPingHealthCheck: method test_standalone_database_is_healthy_on_ping_true (line 272) | async def test_standalone_database_is_healthy_on_ping_true( method test_standalone_database_is_unhealthy_on_ping_false (line 289) | async def test_standalone_database_is_unhealthy_on_ping_false( method test_standalone_database_close_circuit_on_successful_healthcheck (line 306) | async def test_standalone_database_close_circuit_on_successful_healthc... method test_cluster_database_is_healthy_when_all_nodes_respond (line 324) | async def test_cluster_database_is_healthy_when_all_nodes_respond( method test_cluster_database_is_unhealthy_when_one_node_fails (line 362) | async def test_cluster_database_is_unhealthy_when_one_node_fails( class TestLagAwareHealthCheck (line 402) | class TestLagAwareHealthCheck: method test_database_is_healthy_when_bdb_matches_by_dns_name (line 404) | async def test_database_is_healthy_when_bdb_matches_by_dns_name( method test_database_is_healthy_when_bdb_matches_by_addr (line 454) | async def test_database_is_healthy_when_bdb_matches_by_addr( method test_raises_value_error_when_no_matching_bdb (line 492) | async def test_raises_value_error_when_no_matching_bdb(self, mock_clie... method test_propagates_http_error_from_availability (line 529) | async def test_propagates_http_error_from_availability(self, mock_clie... class TestAbstractHealthCheckPolicy (line 566) | class TestAbstractHealthCheckPolicy: method test_get_client_caches_clients_by_database_id (line 577) | async def test_get_client_caches_clients_by_database_id(self): method test_get_client_creates_separate_clients_for_different_databases (line 607) | async def test_get_client_creates_separate_clients_for_different_datab... method test_close_closes_all_clients (line 639) | async def test_close_closes_all_clients(self): method test_close_closes_multiple_database_clients (line 660) | async def test_close_closes_multiple_database_clients(self): method test_close_handles_close_exceptions_gracefully (line 683) | async def test_close_handles_close_exceptions_gracefully(self): method test_execute_runs_health_checks_concurrently (line 706) | async def test_execute_runs_health_checks_concurrently(self): method test_execute_applies_timeout_per_health_check (line 753) | async def test_execute_applies_timeout_per_health_check(self): FILE: tests/test_asyncio/test_multidb/test_pipeline.py function mock_pipe (line 16) | def mock_pipe() -> Pipeline: class TestPipeline (line 24) | class TestPipeline: method test_executes_pipeline_against_correct_db (line 38) | async def test_executes_pipeline_against_correct_db( method test_execute_pipeline_against_correct_db_and_closed_circuit (line 80) | async def test_execute_pipeline_against_correct_db_and_closed_circuit( method test_execute_pipeline_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 131) | async def test_execute_pipeline_against_correct_db_on_background_healt... class TestTransaction (line 279) | class TestTransaction: method test_executes_transaction_against_correct_db (line 293) | async def test_executes_transaction_against_correct_db( method test_execute_transaction_against_correct_db_and_closed_circuit (line 335) | async def test_execute_transaction_against_correct_db_and_closed_circuit( method test_execute_transaction_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 385) | async def test_execute_transaction_against_correct_db_on_background_he... FILE: tests/test_asyncio/test_observability/test_cluster_metrics_error_handling.py class TestAsyncClusterMetricsRecordingDuringErrorHandling (line 23) | class TestAsyncClusterMetricsRecordingDuringErrorHandling: method test_authentication_error_uses_target_node_for_metrics (line 32) | async def test_authentication_error_uses_target_node_for_metrics(self): method test_connection_error_uses_target_node_when_no_connection (line 79) | async def test_connection_error_uses_target_node_when_no_connection(se... method test_response_error_uses_target_node (line 136) | async def test_response_error_uses_target_node(self): method test_max_connections_error_records_metrics_with_cluster_node (line 183) | async def test_max_connections_error_records_metrics_with_cluster_node... method test_timeout_error_uses_target_node_for_metrics (line 229) | async def test_timeout_error_uses_target_node_for_metrics(self): method test_cluster_down_error_with_cluster_node_metrics (line 280) | async def test_cluster_down_error_with_cluster_node_metrics(self): method test_slot_not_covered_error_with_cluster_node_metrics (line 322) | async def test_slot_not_covered_error_with_cluster_node_metrics(self): method test_successful_command_records_metrics_with_connection_db (line 364) | async def test_successful_command_records_metrics_with_connection_db(s... FILE: tests/test_asyncio/test_observability/test_recorder.py class MockInstruments (line 43) | class MockInstruments: method __init__ (line 46) | def __init__(self): function mock_instruments (line 71) | def mock_instruments(): function mock_meter (line 77) | def mock_meter(mock_instruments): function mock_config (line 125) | def mock_config(): function metrics_collector (line 140) | def metrics_collector(mock_meter, mock_config): function setup_async_recorder (line 148) | def setup_async_recorder(metrics_collector, mock_instruments): class TestRecordOperationDuration (line 170) | class TestRecordOperationDuration: method test_record_operation_duration_success (line 173) | async def test_record_operation_duration_success(self, setup_async_rec... method test_record_operation_duration_with_error (line 200) | async def test_record_operation_duration_with_error(self, setup_async_... class TestRecordConnectionCreateTime (line 223) | class TestRecordConnectionCreateTime: method test_record_connection_create_time (line 226) | async def test_record_connection_create_time(self, setup_async_recorder): class TestRecordConnectionTimeout (line 252) | class TestRecordConnectionTimeout: method test_record_connection_timeout (line 255) | async def test_record_connection_timeout(self, setup_async_recorder): class TestRecordConnectionWaitTime (line 270) | class TestRecordConnectionWaitTime: method test_record_connection_wait_time (line 273) | async def test_record_connection_wait_time(self, setup_async_recorder): class TestRecordConnectionClosed (line 291) | class TestRecordConnectionClosed: method test_record_connection_closed (line 294) | async def test_record_connection_closed(self, setup_async_recorder): class TestRecordConnectionRelaxedTimeout (line 307) | class TestRecordConnectionRelaxedTimeout: method test_record_connection_relaxed_timeout_relaxed (line 310) | async def test_record_connection_relaxed_timeout_relaxed( method test_record_connection_relaxed_timeout_unrelaxed (line 326) | async def test_record_connection_relaxed_timeout_unrelaxed( class TestRecordConnectionHandoff (line 344) | class TestRecordConnectionHandoff: method test_record_connection_handoff (line 347) | async def test_record_connection_handoff(self, setup_async_recorder): class TestRecordErrorCount (line 359) | class TestRecordErrorCount: method test_record_error_count (line 362) | async def test_record_error_count(self, setup_async_recorder): method test_record_error_count_with_is_internal_false (line 389) | async def test_record_error_count_with_is_internal_false( class TestRecordPubsubMessage (line 416) | class TestRecordPubsubMessage: method test_record_pubsub_message_publish (line 419) | async def test_record_pubsub_message_publish(self, setup_async_recorder): method test_record_pubsub_message_receive (line 431) | async def test_record_pubsub_message_receive(self, setup_async_recorder): class TestRecordGeoFailover (line 445) | class TestRecordGeoFailover: method mock_database (line 449) | def mock_database(self): method mock_database_secondary (line 460) | def mock_database_secondary(self): method test_record_geo_failover_automatic (line 470) | async def test_record_geo_failover_automatic( method test_record_geo_failover_manual (line 493) | async def test_record_geo_failover_manual( class TestHidePubSubChannelNames (line 517) | class TestHidePubSubChannelNames: method setup_async_recorder_with_hidden_channels (line 521) | def setup_async_recorder_with_hidden_channels(self, mock_meter, mock_i... method test_channel_name_hidden_when_configured (line 550) | async def test_channel_name_hidden_when_configured( method test_channel_name_visible_when_not_configured (line 572) | async def test_channel_name_visible_when_not_configured(self, setup_as... method test_bytes_channel_normalized_to_str (line 586) | async def test_bytes_channel_normalized_to_str(self, setup_async_recor... class TestRecordStreamingLag (line 603) | class TestRecordStreamingLag: method test_record_streaming_lag (line 606) | async def test_record_streaming_lag(self, setup_async_recorder): class TestRecordStreamingLagFromResponse (line 622) | class TestRecordStreamingLagFromResponse: method setup_async_recorder_with_hidden_streams (line 626) | def setup_async_recorder_with_hidden_streams(self, mock_meter, mock_in... method test_record_streaming_lag_from_response_resp3_format (line 655) | async def test_record_streaming_lag_from_response_resp3_format( method test_record_streaming_lag_from_response_resp2_format (line 689) | async def test_record_streaming_lag_from_response_resp2_format( method test_record_streaming_lag_from_response_multiple_messages (line 722) | async def test_record_streaming_lag_from_response_multiple_messages( method test_record_streaming_lag_from_response_multiple_streams (line 751) | async def test_record_streaming_lag_from_response_multiple_streams( method test_stream_name_hidden_in_record_streaming_lag_from_response_resp3 (line 775) | async def test_stream_name_hidden_in_record_streaming_lag_from_respons... method test_stream_name_hidden_in_record_streaming_lag_from_response_resp2 (line 804) | async def test_stream_name_hidden_in_record_streaming_lag_from_respons... method test_record_streaming_lag_from_response_empty_response (line 834) | async def test_record_streaming_lag_from_response_empty_response( method test_record_streaming_lag_from_response_bytes_message_id (line 848) | async def test_record_streaming_lag_from_response_bytes_message_id( class TestRecorderDisabled (line 878) | class TestRecorderDisabled: method test_record_operation_duration_when_disabled (line 881) | async def test_record_operation_duration_when_disabled(self): method test_is_enabled_returns_false_when_disabled (line 901) | async def test_is_enabled_returns_false_when_disabled(self): method test_all_record_functions_safe_when_disabled (line 915) | async def test_all_record_functions_safe_when_disabled(self): class TestRecordConnectionCount (line 948) | class TestRecordConnectionCount: method mock_up_down_counter (line 952) | def mock_up_down_counter(self): method mock_meter_with_counter (line 957) | def mock_meter_with_counter(self, mock_up_down_counter): method mock_config_with_connection_basic (line 967) | def mock_config_with_connection_basic(self): method setup_connection_count_recorder (line 972) | def setup_connection_count_recorder( method test_record_connection_count_increment (line 988) | async def test_record_connection_count_increment( method test_record_connection_count_decrement (line 1008) | async def test_record_connection_count_decrement( method test_record_connection_count_batch_decrement (line 1028) | async def test_record_connection_count_batch_decrement( method test_record_connection_count_lifecycle_scenario (line 1044) | async def test_record_connection_count_lifecycle_scenario( FILE: tests/test_asyncio/test_pipeline.py class TestPipeline (line 18) | class TestPipeline: method test_pipeline_is_true (line 19) | async def test_pipeline_is_true(self, r): method test_pipeline (line 24) | async def test_pipeline(self, r): method test_pipeline_memoryview (line 41) | async def test_pipeline_memoryview(self, r): method test_pipeline_length (line 46) | async def test_pipeline_length(self, r): method test_pipeline_no_transaction (line 59) | async def test_pipeline_no_transaction(self, r): method test_pipeline_no_transaction_watch (line 68) | async def test_pipeline_no_transaction_watch(self, r): method test_pipeline_no_transaction_watch_failure (line 80) | async def test_pipeline_no_transaction_watch_failure(self, r): method test_exec_error_in_response (line 97) | async def test_exec_error_in_response(self, r): method test_exec_error_raised (line 126) | async def test_exec_error_raised(self, r): method test_transaction_with_empty_error_command (line 141) | async def test_transaction_with_empty_error_command(self, r): method test_pipeline_with_empty_error_command (line 156) | async def test_pipeline_with_empty_error_command(self, r): method test_parse_error_raised (line 170) | async def test_parse_error_raised(self, r): method test_parse_error_raised_transaction (line 186) | async def test_parse_error_raised_transaction(self, r): method test_watch_succeed (line 203) | async def test_watch_succeed(self, r): method test_watch_failure (line 221) | async def test_watch_failure(self, r): method test_watch_failure_in_empty_transaction (line 236) | async def test_watch_failure_in_empty_transaction(self, r): method test_unwatch (line 250) | async def test_unwatch(self, r): method test_watch_exec_no_unwatch (line 263) | async def test_watch_exec_no_unwatch(self, r): method test_watch_reset_unwatch (line 284) | async def test_watch_reset_unwatch(self, r): method test_aclose_is_reset (line 299) | async def test_aclose_is_reset(self, r): method test_aclosing (line 312) | async def test_aclosing(self, r): method test_transaction_callable (line 317) | async def test_transaction_callable(self, r): method test_transaction_callable_returns_value_from_callable (line 342) | async def test_transaction_callable_returns_value_from_callable(self, r): method test_exec_error_in_no_transaction_pipeline (line 350) | async def test_exec_error_in_no_transaction_pipeline(self, r): method test_exec_error_in_no_transaction_pipeline_unicode_command (line 365) | async def test_exec_error_in_no_transaction_pipeline_unicode_command(s... method test_exec_error_in_pipeline_truncated (line 380) | async def test_exec_error_in_pipeline_truncated(self, r): method test_pipeline_with_bitfield (line 396) | async def test_pipeline_with_bitfield(self, r): method test_pipeline_get (line 414) | async def test_pipeline_get(self, r): method test_pipeline_discard (line 422) | async def test_pipeline_discard(self, r): method test_send_set_commands_over_async_pipeline (line 447) | async def test_send_set_commands_over_async_pipeline(self, r: redis.as... method test_pipeline_with_msetex (line 458) | async def test_pipeline_with_msetex(self, r): method test_pipeline_json_module_access (line 469) | async def test_pipeline_json_module_access(self, r): class TestAsyncPipelineOperationDurationMetricsRecording (line 491) | class TestAsyncPipelineOperationDurationMetricsRecording: method mock_async_connection (line 501) | def mock_async_connection(self): method mock_async_connection_pool (line 521) | def mock_async_connection_pool(self, mock_async_connection): method mock_meter (line 531) | def mock_meter(self): method setup_pipeline_with_otel (line 558) | def setup_pipeline_with_otel( method test_pipeline_execute_records_operation_duration (line 596) | async def test_pipeline_execute_records_operation_duration( method test_pipeline_no_transaction_records_pipeline_command_name (line 636) | async def test_pipeline_no_transaction_records_pipeline_command_name( method test_pipeline_server_attributes_recorded (line 678) | async def test_pipeline_server_attributes_recorded(self, setup_pipelin... method test_multiple_pipeline_executions_record_multiple_metrics (line 697) | async def test_multiple_pipeline_executions_record_multiple_metrics( method test_empty_pipeline_does_not_record_metric (line 745) | async def test_empty_pipeline_does_not_record_metric( FILE: tests/test_asyncio/test_pubsub.py function with_timeout (line 29) | def with_timeout(t): function wait_for_message (line 41) | async def wait_for_message(pubsub, timeout=0.2, ignore_subscribe_message... function make_message (line 55) | def make_message( function make_subscribe_test_data (line 66) | def make_subscribe_test_data(pubsub, type): function pubsub (line 89) | async def pubsub(r: redis.Redis): class TestPubSubSubscribeUnsubscribe (line 95) | class TestPubSubSubscribeUnsubscribe: method _test_subscribe_unsubscribe (line 96) | async def _test_subscribe_unsubscribe( method test_channel_subscribe_unsubscribe (line 115) | async def test_channel_subscribe_unsubscribe(self, pubsub): method test_pattern_subscribe_unsubscribe (line 119) | async def test_pattern_subscribe_unsubscribe(self, pubsub): method _test_resubscribe_on_reconnection (line 124) | async def _test_resubscribe_on_reconnection( method test_resubscribe_to_channels_on_reconnection (line 157) | async def test_resubscribe_to_channels_on_reconnection(self, pubsub): method test_resubscribe_to_patterns_on_reconnection (line 161) | async def test_resubscribe_to_patterns_on_reconnection(self, pubsub): method test_resubscribe_binary_channel_on_reconnection (line 165) | async def test_resubscribe_binary_channel_on_reconnection(self, pubsub): method test_resubscribe_binary_pattern_on_reconnection (line 190) | async def test_resubscribe_binary_pattern_on_reconnection(self, pubsub): method _test_subscribed_property (line 213) | async def _test_subscribed_property( method test_subscribe_property_with_channels (line 259) | async def test_subscribe_property_with_channels(self, pubsub): method test_subscribe_property_with_patterns (line 264) | async def test_subscribe_property_with_patterns(self, pubsub): method test_aclosing (line 268) | async def test_aclosing(self, r: redis.Redis): method test_context_manager (line 276) | async def test_context_manager(self, r: redis.Redis): method test_close_is_aclose (line 284) | async def test_close_is_aclose(self, r: redis.Redis): method test_reset_is_aclose (line 296) | async def test_reset_is_aclose(self, r: redis.Redis): method test_ignore_all_subscribe_messages (line 308) | async def test_ignore_all_subscribe_messages(self, r: redis.Redis): method test_ignore_individual_subscribe_messages (line 326) | async def test_ignore_individual_subscribe_messages(self, pubsub): method test_sub_unsub_resub_channels (line 344) | async def test_sub_unsub_resub_channels(self, pubsub): method test_sub_unsub_resub_patterns (line 349) | async def test_sub_unsub_resub_patterns(self, pubsub): method _test_sub_unsub_resub (line 353) | async def _test_sub_unsub_resub( method test_sub_unsub_all_resub_channels (line 367) | async def test_sub_unsub_all_resub_channels(self, pubsub): method test_sub_unsub_all_resub_patterns (line 371) | async def test_sub_unsub_all_resub_patterns(self, pubsub): method _test_sub_unsub_all_resub (line 375) | async def _test_sub_unsub_all_resub( class TestPubSubMessages (line 391) | class TestPubSubMessages: method setup_method (line 392) | def setup_method(self, method): method message_handler (line 395) | def message_handler(self, message): method async_message_handler (line 398) | async def async_message_handler(self, message): method test_published_message_to_channel (line 401) | async def test_published_message_to_channel(self, r: redis.Redis, pubs... method test_published_message_to_pattern (line 411) | async def test_published_message_to_pattern(self, r: redis.Redis, pubs... method test_channel_message_handler (line 434) | async def test_channel_message_handler(self, r: redis.Redis): method test_channel_async_message_handler (line 443) | async def test_channel_async_message_handler(self, r): method test_channel_sync_async_message_handler (line 452) | async def test_channel_sync_async_message_handler(self, r): method test_pattern_message_handler (line 465) | async def test_pattern_message_handler(self, r: redis.Redis): method test_unicode_channel_message_handler (line 476) | async def test_unicode_channel_message_handler(self, r: redis.Redis): method test_unicode_pattern_message_handler (line 490) | async def test_unicode_pattern_message_handler(self, r: redis.Redis): method test_get_message_without_subscribe (line 503) | async def test_get_message_without_subscribe(self, r: redis.Redis, pub... class TestPubSubRESP3Handler (line 514) | class TestPubSubRESP3Handler: method my_handler (line 515) | async def my_handler(self, message): method test_push_handler (line 518) | async def test_push_handler(self, r): class TestPubSubAutoDecoding (line 531) | class TestPubSubAutoDecoding: method make_message (line 538) | def make_message(self, type, channel, data, pattern=None): method setup_method (line 541) | def setup_method(self, method): method message_handler (line 544) | def message_handler(self, message): method r (line 548) | async def r(self, create_redis): method test_channel_subscribe_unsubscribe (line 551) | async def test_channel_subscribe_unsubscribe(self, pubsub): method test_pattern_subscribe_unsubscribe (line 563) | async def test_pattern_subscribe_unsubscribe(self, pubsub): method test_channel_publish (line 575) | async def test_channel_publish(self, r: redis.Redis, pubsub): method test_pattern_publish (line 587) | async def test_pattern_publish(self, r: redis.Redis, pubsub): method test_channel_message_handler (line 598) | async def test_channel_message_handler(self, r: redis.Redis): method test_pattern_message_handler (line 616) | async def test_pattern_message_handler(self, r: redis.Redis): method test_context_manager (line 638) | async def test_context_manager(self, r: redis.Redis): class TestPubSubRedisDown (line 650) | class TestPubSubRedisDown: method test_channel_subscribe (line 651) | async def test_channel_subscribe(self, r: redis.Redis): class TestPubSubSubcommands (line 659) | class TestPubSubSubcommands: method test_pubsub_channels (line 662) | async def test_pubsub_channels(self, r: redis.Redis, pubsub): method test_pubsub_numsub (line 672) | async def test_pubsub_numsub(self, r: redis.Redis): method test_pubsub_numpat (line 692) | async def test_pubsub_numpat(self, r: redis.Redis): class TestPubSubPings (line 702) | class TestPubSubPings: method test_send_pubsub_ping (line 704) | async def test_send_pubsub_ping(self, r: redis.Redis): method test_send_pubsub_ping_message (line 714) | async def test_send_pubsub_ping_message(self, r: redis.Redis): class TestPubSubHealthCheckResponse (line 725) | class TestPubSubHealthCheckResponse: method test_health_check_response_decode_false_list_format (line 728) | async def test_health_check_response_decode_false_list_format(self, r:... method test_health_check_response_decode_false_bytes_format (line 735) | async def test_health_check_response_decode_false_bytes_format( method test_health_check_response_decode_true_list_format (line 744) | async def test_health_check_response_decode_true_list_format(self, cre... method test_health_check_response_decode_true_string_format (line 753) | async def test_health_check_response_decode_true_string_format(self, c... method test_health_check_response_decode_false_excludes_string (line 762) | async def test_health_check_response_decode_false_excludes_string( method test_health_check_response_decode_true_excludes_bytes (line 771) | async def test_health_check_response_decode_true_excludes_bytes(self, ... class TestPubSubConnectionKilled (line 782) | class TestPubSubConnectionKilled: method test_connection_error_raised_when_connection_dies (line 784) | async def test_connection_error_raised_when_connection_dies( class TestPubSubTimeouts (line 798) | class TestPubSubTimeouts: method test_get_message_with_timeout_returns_none (line 799) | async def test_get_message_with_timeout_returns_none(self, pubsub): class TestPubSubReconnect (line 807) | class TestPubSubReconnect: method test_reconnect_listen (line 809) | async def test_reconnect_listen(self, r: redis.Redis, pubsub): class TestPubSubRun (line 871) | class TestPubSubRun: method _subscribe (line 872) | async def _subscribe(self, p, *args, **kwargs): method test_callbacks (line 885) | async def test_callbacks(self, r: redis.Redis, pubsub): method test_exception_handler (line 907) | async def test_exception_handler(self, r: redis.Redis, pubsub): method test_late_subscribe (line 927) | async def test_late_subscribe(self, r: redis.Redis, pubsub): class TestPubSubAutoReconnect (line 962) | class TestPubSubAutoReconnect: method mysetup (line 965) | async def mysetup(self, r, method): method myfinish (line 987) | async def myfinish(self): method mykill (line 996) | async def mykill(self): method test_reconnect_socket_error (line 1002) | async def test_reconnect_socket_error(self, r: redis.Redis, method): method test_reconnect_disconnect (line 1031) | async def test_reconnect_disconnect(self, r: redis.Redis, method): method loop (line 1053) | async def loop(self): method loop_step_get_message (line 1078) | async def loop_step_get_message(self): method loop_step_listen (line 1086) | async def loop_step_listen(self): class TestBaseException (line 1098) | class TestBaseException: method test_outer_timeout (line 1102) | async def test_outer_timeout(self, r: redis.Redis): method test_base_exception (line 1136) | async def test_base_exception(self, r: redis.Redis): class TestAsyncPubSubTimeoutPropagation (line 1177) | class TestAsyncPubSubTimeoutPropagation: method test_get_message_timeout_is_respected (line 1185) | async def test_get_message_timeout_is_respected(self, r): method test_get_message_timeout_with_published_message (line 1207) | async def test_get_message_timeout_with_published_message(self, r): method test_parse_response_timeout_propagation (line 1229) | async def test_parse_response_timeout_propagation(self, r): method test_get_message_timeout_zero_returns_immediately (line 1248) | async def test_get_message_timeout_zero_returns_immediately(self, r): method test_get_message_timeout_none_blocks (line 1267) | async def test_get_message_timeout_none_blocks(self, r): method test_multiple_messages_with_timeout (line 1298) | async def test_multiple_messages_with_timeout(self, r): method test_timeout_with_pattern_subscribe (line 1327) | async def test_timeout_with_pattern_subscribe(self, r): method test_timeout_with_no_subscription (line 1349) | async def test_timeout_with_no_subscription(self, r): class TestPubSubHandleMessageMetrics (line 1366) | class TestPubSubHandleMessageMetrics: method mock_pubsub (line 1370) | def mock_pubsub(self): method test_handle_message_records_metric_for_message_type (line 1382) | async def test_handle_message_records_metric_for_message_type(self, mo... method test_handle_message_records_metric_for_pmessage_type (line 1403) | async def test_handle_message_records_metric_for_pmessage_type(self, m... method test_handle_message_does_not_record_metric_for_subscribe_type (line 1422) | async def test_handle_message_does_not_record_metric_for_subscribe_type( method test_handle_message_does_not_record_metric_for_pong_type (line 1438) | async def test_handle_message_does_not_record_metric_for_pong_type( FILE: tests/test_asyncio/test_retry.py class BackoffMock (line 9) | class BackoffMock(AbstractBackoff): method __init__ (line 10) | def __init__(self): method reset (line 14) | def reset(self): method compute (line 17) | def compute(self, failures): class TestConnectionConstructorWithRetry (line 22) | class TestConnectionConstructorWithRetry: method test_retry_on_error_set (line 26) | def test_retry_on_error_set(self, Class): method test_retry_on_error_not_set (line 38) | def test_retry_on_error_not_set(self, Class): method test_retry_on_timeout (line 46) | def test_retry_on_timeout(self, Class, retry_on_timeout): method test_retry_with_retry_on_timeout (line 54) | def test_retry_with_retry_on_timeout(self, Class, retries: int): method test_retry_with_retry_on_error (line 63) | def test_retry_with_retry_on_error(self, Class, retries: int): class TestRetry (line 75) | class TestRetry: method setup_method (line 78) | def setup_method(self, test_method): method _do (line 82) | async def _do(self): method _fail (line 86) | async def _fail(self, error): method _fail_inf (line 89) | async def _fail_inf(self, error): method test_retry (line 96) | async def test_retry(self, retries: int): method test_infinite_retry (line 108) | async def test_infinite_retry(self): class TestRedisClientRetry (line 119) | class TestRedisClientRetry: method test_get_set_retry_object (line 122) | async def test_get_set_retry_object(self, request): FILE: tests/test_asyncio/test_scenario/conftest.py class CheckActiveDatabaseChangedListener (line 23) | class CheckActiveDatabaseChangedListener(AsyncEventListenerInterface): method __init__ (line 24) | def __init__(self): method listen (line 27) | async def listen(self, event: AsyncActiveDatabaseChanged): function fault_injector_client (line 32) | def fault_injector_client(): function r_multi_db (line 38) | async def r_multi_db( FILE: tests/test_asyncio/test_scenario/test_active_active.py function trigger_network_failure_action (line 24) | async def trigger_network_failure_action( class TestActiveActive (line 49) | class TestActiveActive: method test_multi_db_client_failover_to_another_db (line 61) | async def test_multi_db_client_failover_to_another_db( method test_multi_db_client_uses_lag_aware_health_check (line 142) | async def test_multi_db_client_uses_lag_aware_health_check( method test_context_manager_pipeline_failover_to_another_db (line 195) | async def test_context_manager_pipeline_failover_to_another_db( method test_chaining_pipeline_failover_to_another_db (line 255) | async def test_chaining_pipeline_failover_to_another_db( method test_transaction_failover_to_another_db (line 315) | async def test_transaction_failover_to_another_db( method test_pubsub_failover_to_another_db (line 361) | async def test_pubsub_failover_to_another_db( FILE: tests/test_asyncio/test_scripting.py class TestScripting (line 24) | class TestScripting: method r (line 26) | async def r(self, create_redis): method test_eval (line 32) | async def test_eval(self, r): method test_script_flush (line 40) | async def test_script_flush(self, r): method test_evalsha (line 59) | async def test_evalsha(self, r): method test_evalsha_script_not_loaded (line 66) | async def test_evalsha_script_not_loaded(self, r): method test_script_loading (line 75) | async def test_script_loading(self, r): method test_script_object (line 84) | async def test_script_object(self, r): method test_script_object_in_pipeline (line 101) | async def test_script_object_in_pipeline(self, r): method test_eval_msgpack_pipeline_error_in_lua (line 131) | async def test_eval_msgpack_pipeline_error_in_lua(self, r): FILE: tests/test_asyncio/test_search.py class AsyncSearchTestsBase (line 58) | class AsyncSearchTestsBase: method decoded_r (line 60) | async def decoded_r(self, create_redis, stack_url): method waitForIndex (line 64) | async def waitForIndex(env, idx, timeout=None): method getClient (line 91) | def getClient(decoded_r: redis.Redis): method createIndex (line 99) | async def createIndex(decoded_r, num_docs=100, definition=None): class TestBaseSearchFunctionality (line 139) | class TestBaseSearchFunctionality(AsyncSearchTestsBase): method test_client (line 141) | async def test_client(self, decoded_r: redis.Redis): method test_scores (line 381) | async def test_scores(self, decoded_r: redis.Redis): method test_scores_with_new_default_scorer (line 403) | async def test_scores_with_new_default_scorer(self, decoded_r: redis.R... method test_stopwords (line 423) | async def test_stopwords(self, decoded_r: redis.Redis): method test_filters (line 441) | async def test_filters(self, decoded_r: redis.Redis): method test_sort_by (line 498) | async def test_sort_by(self, decoded_r: redis.Redis): method test_drop_index (line 532) | async def test_drop_index(self, decoded_r: redis.Redis): method test_example (line 549) | async def test_example(self, decoded_r: redis.Redis): method test_auto_complete (line 571) | async def test_auto_complete(self, decoded_r: redis.Redis): method test_no_index (line 623) | async def test_no_index(self, decoded_r: redis.Redis): method test_create_index_empty_or_missing_fields_with_sortable (line 714) | async def test_create_index_empty_or_missing_fields_with_sortable( method test_explain (line 729) | async def test_explain(self, decoded_r: redis.Redis): method test_explaincli (line 737) | async def test_explaincli(self, decoded_r: redis.Redis): method test_summarize (line 742) | async def test_summarize(self, decoded_r: redis.Redis): method test_alias (line 785) | async def test_alias(self, decoded_r: redis.Redis): method test_alias_basic (line 847) | async def test_alias_basic(self, decoded_r: redis.Redis): method test_tags (line 900) | async def test_tags(self, decoded_r: redis.Redis): method test_textfield_sortable_nostem (line 948) | async def test_textfield_sortable_nostem(self, decoded_r: redis.Redis): method test_alter_schema_add (line 964) | async def test_alter_schema_add(self, decoded_r: redis.Redis): method test_spell_check (line 988) | async def test_spell_check(self, decoded_r: redis.Redis): method test_dict_operations (line 1058) | async def test_dict_operations(self, decoded_r: redis.Redis): method test_phonetic_matcher (line 1076) | async def test_phonetic_matcher(self, decoded_r: redis.Redis): method test_get (line 1109) | async def test_get(self, decoded_r: redis.Redis): method test_query_timeout (line 1133) | async def test_query_timeout(self, decoded_r: redis.Redis): method test_binary_and_text_fields (line 1142) | async def test_binary_and_text_fields(self, decoded_r: redis.Redis): class TestScorers (line 1197) | class TestScorers(AsyncSearchTestsBase): method test_scorer (line 1203) | async def test_scorer(self, decoded_r: redis.Redis): method test_scorer_with_new_default_scorer (line 1278) | async def test_scorer_with_new_default_scorer(self, decoded_r: redis.R... class TestConfig (line 1349) | class TestConfig(AsyncSearchTestsBase): method test_config (line 1354) | async def test_config(self, decoded_r: redis.Redis): method test_config_with_removed_ftconfig (line 1366) | async def test_config_with_removed_ftconfig(self, decoded_r: redis.Red... class TestAggregations (line 1376) | class TestAggregations(AsyncSearchTestsBase): method test_aggregations_groupby (line 1379) | async def test_aggregations_groupby(self, decoded_r: redis.Redis): method test_aggregations_sort_by_and_limit (line 1691) | async def test_aggregations_sort_by_and_limit(self, decoded_r: redis.R... method test_withsuffixtrie (line 1750) | async def test_withsuffixtrie(self, decoded_r: redis.Redis): method test_aggregations_add_scores (line 1803) | async def test_aggregations_add_scores(self, decoded_r: redis.Redis): method test_aggregations_hybrid_scoring (line 1828) | async def test_aggregations_hybrid_scoring(self, decoded_r: redis.Redis): class TestPipeline (line 1883) | class TestPipeline(AsyncSearchTestsBase): method test_search_commands_in_pipeline (line 1886) | async def test_search_commands_in_pipeline(self, decoded_r: redis.Redis): method test_hybrid_search_query_with_pipeline (line 1915) | async def test_hybrid_search_query_with_pipeline(self, decoded_r: redi... class TestSearchWithVamana (line 1981) | class TestSearchWithVamana(AsyncSearchTestsBase): method test_async_svs_vamana_basic_functionality (line 1985) | async def test_async_svs_vamana_basic_functionality(self, decoded_r: r... method test_async_svs_vamana_distance_metrics (line 2023) | async def test_async_svs_vamana_distance_metrics(self, decoded_r: redi... method test_async_svs_vamana_vector_types (line 2060) | async def test_async_svs_vamana_vector_types(self, decoded_r: redis.Re... method test_async_svs_vamana_compression (line 2092) | async def test_async_svs_vamana_compression(self, decoded_r: redis.Red... method test_async_svs_vamana_build_parameters (line 2130) | async def test_async_svs_vamana_build_parameters(self, decoded_r: redi... class TestHybridSearch (line 2169) | class TestHybridSearch(AsyncSearchTestsBase): method _create_hybrid_search_index (line 2170) | async def _create_hybrid_search_index(self, decoded_r: redis.Redis, di... method _generate_random_vector (line 2202) | def _generate_random_vector(dim): method _generate_random_str_data (line 2206) | def _generate_random_str_data(dim): method _add_data_for_hybrid_search (line 2211) | async def _add_data_for_hybrid_search( method _convert_dict_values_to_str (line 2265) | def _convert_dict_values_to_str(list_of_dicts): method compare_list_of_dicts (line 2278) | def compare_list_of_dicts(actual, expected): method test_basic_hybrid_search (line 2297) | async def test_basic_hybrid_search(self, decoded_r): method test_hybrid_search_query_with_scorer (line 2337) | async def test_hybrid_search_query_with_scorer(self, decoded_r): method test_hybrid_search_query_with_vsim_filter (line 2444) | async def test_hybrid_search_query_with_vsim_filter(self, decoded_r): method test_hybrid_search_query_with_vsim_knn (line 2485) | async def test_hybrid_search_query_with_vsim_knn(self, decoded_r): method test_hybrid_search_query_with_vsim_range (line 2570) | async def test_hybrid_search_query_with_vsim_range(self, decoded_r): method test_hybrid_search_query_with_combine_all_score_aliases (line 2661) | async def test_hybrid_search_query_with_combine_all_score_aliases(self... method test_hybrid_search_query_with_combine (line 2727) | async def test_hybrid_search_query_with_combine(self, decoded_r): method test_hybrid_search_query_with_load (line 2841) | async def test_hybrid_search_query_with_load(self, decoded_r): method test_hybrid_search_query_with_load_and_apply (line 2902) | async def test_hybrid_search_query_with_load_and_apply(self, decoded_r): method test_hybrid_search_query_with_load_and_filter (line 2972) | async def test_hybrid_search_query_with_load_and_filter(self, decoded_r): method test_hybrid_search_query_with_load_apply_and_params (line 3019) | async def test_hybrid_search_query_with_load_apply_and_params(self, de... method test_hybrid_search_query_with_limit (line 3086) | async def test_hybrid_search_query_with_limit(self, decoded_r): method test_hybrid_search_query_with_load_apply_and_sortby (line 3122) | async def test_hybrid_search_query_with_load_apply_and_sortby(self, de... method test_hybrid_search_query_with_timeout (line 3178) | async def test_hybrid_search_query_with_timeout(self, decoded_r): method test_hybrid_search_query_with_load_and_groupby (line 3242) | async def test_hybrid_search_query_with_load_and_groupby(self, decoded... method test_hybrid_search_query_with_cursor (line 3334) | async def test_hybrid_search_query_with_cursor(self, decoded_r): FILE: tests/test_asyncio/test_sentinel.py function master_ip (line 20) | def master_ip(master_host): class SentinelTestClient (line 24) | class SentinelTestClient: method __init__ (line 25) | def __init__(self, cluster, id): method sentinel_masters (line 29) | async def sentinel_masters(self): method sentinel_slaves (line 34) | async def sentinel_slaves(self, master_name): method execute_command (line 41) | async def execute_command(self, *args, **kwargs): class SentinelTestCluster (line 48) | class SentinelTestCluster: method __init__ (line 49) | def __init__(self, service_name="mymaster", ip="127.0.0.1", port=6379): method connection_error_if_down (line 64) | def connection_error_if_down(self, node): method timeout_if_down (line 68) | def timeout_if_down(self, node): method client (line 72) | def client(self, host, port, **kwargs): function cluster (line 77) | async def cluster(master_ip): function sentinel (line 86) | def sentinel(request, cluster): function deployed_sentinel (line 91) | async def deployed_sentinel(request): function test_discover_master (line 120) | async def test_discover_master(sentinel, master_ip): function test_discover_master_error (line 126) | async def test_discover_master_error(sentinel): function test_discover_master_sentinel_down (line 132) | async def test_discover_master_sentinel_down(cluster, sentinel, master_ip): function test_discover_master_sentinel_timeout (line 142) | async def test_discover_master_sentinel_timeout(cluster, sentinel, maste... function test_master_min_other_sentinels (line 152) | async def test_master_min_other_sentinels(cluster, master_ip): function test_master_odown (line 163) | async def test_master_odown(cluster, sentinel): function test_master_sdown (line 170) | async def test_master_sdown(cluster, sentinel): function test_discover_slaves (line 177) | async def test_discover_slaves(cluster, sentinel): function test_master_for (line 217) | async def test_master_for(cluster, sentinel, master_ip): function test_slave_for (line 228) | async def test_slave_for(cluster, sentinel): function test_slave_for_slave_not_found_error (line 237) | async def test_slave_for_slave_not_found_error(cluster, sentinel): function test_slave_round_robin (line 245) | async def test_slave_round_robin(cluster, sentinel, master_ip): function test_ckquorum (line 261) | async def test_ckquorum(sentinel): function test_flushconfig (line 267) | async def test_flushconfig(sentinel): function test_reset (line 273) | async def test_reset(cluster, sentinel): function test_auto_close_pool (line 281) | async def test_auto_close_pool(cluster, sentinel, method_name): function test_repr_correctly_represents_connection_object (line 305) | async def test_repr_correctly_represents_connection_object(sentinel): function test_get_sentinels (line 326) | async def test_get_sentinels(deployed_sentinel): function test_get_master_addr_by_name (line 344) | async def test_get_master_addr_by_name(deployed_sentinel): function test_redis_master_usage (line 365) | async def test_redis_master_usage(deployed_sentinel): function test_sentinel_commands_with_strict_redis_client (line 372) | async def test_sentinel_commands_with_strict_redis_client(request): FILE: tests/test_asyncio/test_sentinel_managed_connection.py function test_connect_retry_on_timeout_error (line 12) | async def test_connect_retry_on_timeout_error(connect_args): FILE: tests/test_asyncio/test_ssl.py class TestSSL (line 24) | class TestSSL: method _get_client (line 28) | async def _get_client(self, request): method test_ssl_with_invalid_cert (line 35) | async def test_ssl_with_invalid_cert(self, _get_client): method test_cert_reqs_none_with_check_hostname (line 39) | async def test_cert_reqs_none_with_check_hostname(self, request): method test_ssl_flags_applied_to_context (line 62) | async def test_ssl_flags_applied_to_context(self, request): method test_ssl_ca_path_parameter (line 147) | async def test_ssl_ca_path_parameter(self, request): method test_ssl_password_parameter (line 173) | async def test_ssl_password_parameter(self, request): method test_ssl_authenticate_with_client_cert (line 200) | async def test_ssl_authenticate_with_client_cert(self, request, r): FILE: tests/test_asyncio/test_timeseries.py function decoded_r (line 17) | async def decoded_r(create_redis, stack_url): function test_create (line 22) | async def test_create(decoded_r: redis.Redis): function test_create_duplicate_policy (line 41) | async def test_create_duplicate_policy(decoded_r: redis.Redis): function test_alter (line 56) | async def test_alter(decoded_r: redis.Redis): function test_alter_duplicate_policy (line 81) | async def test_alter_duplicate_policy(decoded_r: redis.Redis): function test_alter_duplicate_policy_prior_redis_8 (line 97) | async def test_alter_duplicate_policy_prior_redis_8(decoded_r: redis.Red... function test_add (line 111) | async def test_add(decoded_r: redis.Redis): function test_add_duplicate_policy (line 135) | async def test_add_duplicate_policy(decoded_r: redis.Redis): function test_madd (line 177) | async def test_madd(decoded_r: redis.Redis): function test_incrby_decrby (line 185) | async def test_incrby_decrby(decoded_r: redis.Redis): function test_create_and_delete_rule (line 214) | async def test_create_and_delete_rule(decoded_r: redis.Redis): function test_del_range (line 239) | async def test_del_range(decoded_r: redis.Redis): function test_range (line 255) | async def test_range(decoded_r: redis.Redis): function test_range_advanced (line 273) | async def test_range_advanced(decoded_r: redis.Redis): function test_rev_range (line 304) | async def test_rev_range(decoded_r: redis.Redis): function test_multi_range (line 348) | async def test_multi_range(decoded_r: redis.Redis): function test_multi_range_advanced (line 404) | async def test_multi_range_advanced(decoded_r: redis.Redis): function test_multi_reverse_range (line 522) | async def test_multi_reverse_range(decoded_r: redis.Redis): function test_get (line 684) | async def test_get(decoded_r: redis.Redis): function test_mget (line 696) | async def test_mget(decoded_r: redis.Redis): function test_info (line 731) | async def test_info(decoded_r: redis.Redis): function test_info_duplicate_policy (line 745) | async def test_info_duplicate_policy(decoded_r: redis.Redis): function test_info_duplicate_policy_prior_redis_8 (line 764) | async def test_info_duplicate_policy_prior_redis_8(decoded_r: redis.Redis): function test_query_index (line 782) | async def test_query_index(decoded_r: redis.Redis): function test_uncompressed (line 793) | async def test_uncompressed(decoded_r: redis.Redis): function test_create_with_insertion_filters (line 809) | async def test_create_with_insertion_filters(decoded_r: redis.Redis): function test_alter_with_insertion_filters (line 833) | async def test_alter_with_insertion_filters(decoded_r: redis.Redis): function test_add_with_insertion_filters (line 858) | async def test_add_with_insertion_filters(decoded_r: redis.Redis): function test_incrby_with_insertion_filters (line 876) | async def test_incrby_with_insertion_filters(decoded_r: redis.Redis): function test_decrby_with_insertion_filters (line 899) | async def test_decrby_with_insertion_filters(decoded_r: redis.Redis): function test_range_with_count_nan_count_all_aggregators (line 922) | async def test_range_with_count_nan_count_all_aggregators(decoded_r: red... function test_rev_range_with_count_nan_count_all_aggregators (line 966) | async def test_rev_range_with_count_nan_count_all_aggregators(decoded_r:... function test_mrange_with_count_nan_count_all_aggregators (line 1010) | async def test_mrange_with_count_nan_count_all_aggregators(decoded_r: re... function test_mrevrange_with_count_nan_count_all_aggregators (line 1073) | async def test_mrevrange_with_count_nan_count_all_aggregators(decoded_r:... FILE: tests/test_asyncio/test_usage_counter.py function test_usage_counter (line 7) | async def test_usage_counter(r): FILE: tests/test_asyncio/test_utils.py function redis_server_time (line 13) | async def redis_server_time(client: redis.Redis): class TestDeprecatedFunctionAsync (line 20) | class TestDeprecatedFunctionAsync: method test_async_function_warns (line 22) | async def test_async_function_warns(self): method test_async_preserves_function_metadata (line 36) | async def test_async_preserves_function_metadata(self): class TestDeprecatedArgsAsync (line 47) | class TestDeprecatedArgsAsync: method test_async_function_warns_on_deprecated_arg (line 49) | async def test_async_function_warns_on_deprecated_arg(self): method test_async_function_no_warning_on_allowed_arg (line 63) | async def test_async_function_no_warning_on_allowed_arg(self): method test_async_wildcard_warns_all_args (line 75) | async def test_async_wildcard_warns_all_args(self): class TestExperimentalMethodAsync (line 89) | class TestExperimentalMethodAsync: method test_async_function_warns (line 91) | async def test_async_function_warns(self): method test_async_preserves_function_metadata (line 105) | async def test_async_preserves_function_metadata(self): class TestExperimentalArgsAsync (line 116) | class TestExperimentalArgsAsync: method test_async_function_warns_on_experimental_arg (line 118) | async def test_async_function_warns_on_experimental_arg(self): method test_async_no_warning_when_no_args_provided (line 132) | async def test_async_no_warning_when_no_args_provided(self): FILE: tests/test_asyncio/test_vsets.py function d_client (line 15) | async def d_client(create_redis, redis_url): function client (line 20) | async def client(create_redis, redis_url): function test_add_elem_with_values (line 25) | async def test_add_elem_with_values(d_client): function test_add_elem_with_vector (line 41) | async def test_add_elem_with_vector(d_client): function test_add_elem_reduced_dim (line 53) | async def test_add_elem_reduced_dim(d_client): function test_add_elem_cas (line 63) | async def test_add_elem_cas(d_client): function test_add_elem_no_quant (line 75) | async def test_add_elem_no_quant(d_client): function test_add_elem_bin_quant (line 90) | async def test_add_elem_bin_quant(d_client): function test_add_elem_q8_quant (line 106) | async def test_add_elem_q8_quant(d_client): function test_add_elem_ef (line 122) | async def test_add_elem_ef(d_client): function test_add_elem_with_attr (line 140) | async def test_add_elem_with_attr(d_client): function test_add_elem_with_numlinks (line 187) | async def test_add_elem_with_numlinks(d_client): function test_vsim_count (line 212) | async def test_vsim_count(d_client): function test_vsim_with_scores (line 246) | async def test_vsim_with_scores(d_client): function test_vsim_with_attribs_attribs_set (line 266) | async def test_vsim_with_attribs_attribs_set(d_client): function test_vsim_with_scores_and_attribs_attribs_set (line 288) | async def test_vsim_with_scores_and_attribs_attribs_set(d_client): function test_vsim_with_attribs_attribs_not_set (line 321) | async def test_vsim_with_attribs_attribs_not_set(d_client): function test_vsim_with_different_vector_input_types (line 340) | async def test_vsim_with_different_vector_input_types(d_client): function test_vsim_unexisting (line 373) | async def test_vsim_unexisting(d_client): function test_vsim_with_filter (line 385) | async def test_vsim_with_filter(d_client): function test_vsim_truth_no_thread_enabled (line 453) | async def test_vsim_truth_no_thread_enabled(d_client): function test_vsim_epsilon (line 484) | async def test_vsim_epsilon(d_client): function test_vdim (line 499) | async def test_vdim(d_client): function test_vcard (line 515) | async def test_vcard(d_client): function test_vrem (line 529) | async def test_vrem(d_client): function test_vemb_bin_quantization (line 552) | async def test_vemb_bin_quantization(d_client): function test_vemb_q8_quantization (line 571) | async def test_vemb_q8_quantization(d_client): function test_vemb_no_quantization (line 586) | async def test_vemb_no_quantization(d_client): function test_vemb_default_quantization (line 603) | async def test_vemb_default_quantization(d_client): function test_vemb_fp32_quantization (line 618) | async def test_vemb_fp32_quantization(d_client): function test_vemb_unexisting (line 635) | async def test_vemb_unexisting(d_client): function test_vlinks (line 646) | async def test_vlinks(d_client): function test_vinfo (line 711) | async def test_vinfo(d_client): function test_vset_vget_attributes (line 736) | async def test_vset_vget_attributes(d_client): function test_vrandmember (line 794) | async def test_vrandmember(d_client): function test_8_2_new_vset_features_without_decoding_responces (line 846) | async def test_8_2_new_vset_features_without_decoding_responces(client): function test_vset_commands_without_decoding_responces (line 881) | async def test_vset_commands_without_decoding_responces(client): function _to_fp32_blob_array (line 960) | def _to_fp32_blob_array(float_array): function _validate_quantization (line 971) | def _validate_quantization(original, quantized, tolerance=0.1): function test_vrange_basic (line 983) | async def test_vrange_basic(d_client): function test_vrange_with_count (line 1005) | async def test_vrange_with_count(d_client): function test_vrange_iteration (line 1033) | async def test_vrange_iteration(d_client): function test_vrange_empty_key (line 1056) | async def test_vrange_empty_key(d_client): function test_vrange_special_characters (line 1066) | async def test_vrange_special_characters(d_client): function test_vrange_single_element (line 1082) | async def test_vrange_single_element(d_client): function test_vrange_lexicographical_order (line 1097) | async def test_vrange_lexicographical_order(d_client): function test_vrange_numeric_strings (line 1111) | async def test_vrange_numeric_strings(d_client): FILE: tests/test_auth/test_token.py class TestToken (line 8) | class TestToken: method test_simple_token (line 9) | def test_simple_token(self): method test_jwt_token (line 39) | def test_jwt_token(self): FILE: tests/test_auth/test_token_manager.py class TestTokenManager (line 18) | class TestTokenManager: method test_success_token_renewal (line 30) | def test_success_token_renewal(self, exp_refresh_ratio): method test_async_success_token_renewal (line 78) | async def test_async_success_token_renewal(self, exp_refresh_ratio): method test_async_request_token_blocking_behaviour (line 135) | async def test_async_request_token_blocking_behaviour( method test_token_renewal_with_skip_initial (line 162) | def test_token_renewal_with_skip_initial(self): method test_async_token_renewal_with_skip_initial (line 198) | async def test_async_token_renewal_with_skip_initial(self): method test_success_token_renewal_with_retry (line 238) | def test_success_token_renewal_with_retry(self): method test_async_success_token_renewal_with_retry (line 280) | async def test_async_success_token_renewal_with_retry(self): method test_no_token_renewal_on_process_complete (line 321) | def test_no_token_renewal_on_process_complete(self): method test_async_no_token_renewal_on_process_complete (line 347) | async def test_async_no_token_renewal_on_process_complete(self): method test_failed_token_renewal_with_retry (line 372) | def test_failed_token_renewal_with_retry(self): method test_async_failed_token_renewal_with_retry (line 407) | async def test_async_failed_token_renewal_with_retry(self): method test_failed_renewal_on_expired_token (line 441) | def test_failed_renewal_on_expired_token(self): method test_async_failed_renewal_on_expired_token (line 468) | async def test_async_failed_renewal_on_expired_token(self): method test_failed_renewal_on_callback_error (line 494) | def test_failed_renewal_on_callback_error(self): method test_async_failed_renewal_on_callback_error (line 525) | async def test_async_failed_renewal_on_callback_error(self): FILE: tests/test_background.py class TestBackgroundScheduler (line 10) | class TestBackgroundScheduler: method test_run_once (line 11) | def test_run_once(self): method test_run_recurring (line 42) | def test_run_recurring(self, interval, timeout, min_call_count): method test_run_recurring_async (line 75) | async def test_run_recurring_async(self, interval, timeout, min_call_c... method test_run_recurring_coro (line 107) | def test_run_recurring_coro(self, interval, timeout, min_call_count): method test_run_recurring_coro_runs_in_background_thread (line 132) | def test_run_recurring_coro_runs_in_background_thread(self): method test_run_recurring_coro_supports_concurrent_execution (line 153) | def test_run_recurring_coro_supports_concurrent_execution(self): method test_run_recurring_coro_with_timeout (line 187) | def test_run_recurring_coro_with_timeout(self): method test_run_recurring_coro_stops_cleanly (line 215) | def test_run_recurring_coro_stops_cleanly(self): method test_run_recurring_coro_exception_does_not_stop_scheduler (line 239) | def test_run_recurring_coro_exception_does_not_stop_scheduler(self): method test_run_recurring_coro_prevents_overlapping_executions (line 263) | def test_run_recurring_coro_prevents_overlapping_executions(self): FILE: tests/test_backoff.py function test_exponential_with_jitter_backoff (line 8) | def test_exponential_with_jitter_backoff(monkeypatch: pytest.MonkeyPatch... FILE: tests/test_bloom.py function decoded_r (line 16) | def decoded_r(request, stack_url): function intlist (line 23) | def intlist(obj): function client (line 28) | def client(decoded_r): function test_create (line 40) | def test_create(client): function test_bf_reserve (line 55) | def test_bf_reserve(client): function test_tdigest_create (line 71) | def test_tdigest_create(client): function test_bf_add (line 76) | def test_bf_add(client): function test_bf_insert (line 89) | def test_bf_insert(client): function test_bf_scandump_and_loadchunk (line 120) | def test_bf_scandump_and_loadchunk(client): function test_bf_info (line 168) | def test_bf_info(client): function test_bf_card (line 200) | def test_bf_card(client): function test_cf_add_and_insert (line 215) | def test_cf_add_and_insert(client): function test_cf_exists_and_del (line 241) | def test_cf_exists_and_del(client): function test_cms (line 254) | def test_cms(client): function test_cms_merge (line 271) | def test_cms_merge(client): function test_topk (line 288) | def test_topk(client): function test_topk_list_with_special_words (line 368) | def test_topk_list_with_special_words(client): function test_topk_incrby (line 396) | def test_topk_incrby(client): function test_tdigest_reset (line 411) | def test_tdigest_reset(client): function test_tdigest_merge (line 428) | def test_tdigest_merge(client): function test_tdigest_min_and_max (line 456) | def test_tdigest_min_and_max(client): function test_tdigest_quantile (line 468) | def test_tdigest_quantile(client): function test_tdigest_cdf (line 489) | def test_tdigest_cdf(client): function test_tdigest_trimmed_mean (line 502) | def test_tdigest_trimmed_mean(client): function test_tdigest_rank (line 512) | def test_tdigest_rank(client): function test_tdigest_revrank (line 523) | def test_tdigest_revrank(client): function test_tdigest_byrank (line 533) | def test_tdigest_byrank(client): function test_tdigest_byrevrank (line 545) | def test_tdigest_byrevrank(client): FILE: tests/test_cache.py function r (line 26) | def r(request): class TestCache (line 51) | class TestCache: method test_get_from_given_cache (line 73) | def test_get_from_given_cache(self, r, r2): method test_hash_get_from_given_cache (line 119) | def test_hash_get_from_given_cache(self, r, r2): method test_get_from_default_cache (line 201) | def test_get_from_default_cache(self, r, r2): method test_cache_clears_on_disconnect (line 249) | def test_cache_clears_on_disconnect(self, r, cache): method test_cache_lru_eviction (line 283) | def test_cache_lru_eviction(self, r, cache): method test_cache_ignore_not_allowed_command (line 344) | def test_cache_ignore_not_allowed_command(self, r): method test_cache_invalidate_all_related_responses (line 377) | def test_cache_invalidate_all_related_responses(self, r): method test_cache_flushed_on_server_flush (line 439) | def test_cache_flushed_on_server_flush(self, r): class TestClusterCache (line 478) | class TestClusterCache: method test_get_from_cache (line 493) | def test_get_from_cache(self, r): method test_get_from_custom_cache (line 535) | def test_get_from_custom_cache(self, r, r2): method test_cache_clears_on_disconnect (line 573) | def test_cache_clears_on_disconnect(self, r, r2): method test_cache_lru_eviction (line 603) | def test_cache_lru_eviction(self, r): method test_cache_ignore_not_allowed_command (line 669) | def test_cache_ignore_not_allowed_command(self, r): method test_cache_invalidate_all_related_responses (line 696) | def test_cache_invalidate_all_related_responses(self, r, cache): method test_cache_flushed_on_server_flush (line 751) | def test_cache_flushed_on_server_flush(self, r, cache): class TestSentinelCache (line 802) | class TestSentinelCache: method test_get_from_cache (line 819) | def test_get_from_cache(self, master): method test_get_from_default_cache (line 856) | def test_get_from_default_cache(self, r, r2): method test_cache_clears_on_disconnect (line 895) | def test_cache_clears_on_disconnect(self, master, cache): class TestSSLCache (line 917) | class TestSSLCache: method test_get_from_cache (line 934) | def test_get_from_cache(self, r, r2, cache): method test_get_from_custom_cache (line 977) | def test_get_from_custom_cache(self, r, r2): method test_cache_invalidate_all_related_responses (line 1018) | def test_cache_invalidate_all_related_responses(self, r): class TestUnitDefaultCache (line 1059) | class TestUnitDefaultCache: method test_get_eviction_policy (line 1060) | def test_get_eviction_policy(self): method test_get_max_size (line 1064) | def test_get_max_size(self): method test_get_size (line 1068) | def test_get_size(self): method test_set_non_existing_cache_key (line 1075) | def test_set_non_existing_cache_key(self, cache_key, mock_connection): method test_set_updates_existing_cache_key (line 1091) | def test_set_updates_existing_cache_key(self, cache_key, mock_connecti... method test_set_does_not_store_not_allowed_key (line 1117) | def test_set_does_not_store_not_allowed_key(self, cache_key, mock_conn... method test_get_return_correct_value (line 1132) | def test_get_return_correct_value(self, cache_key, mock_connection): method test_delete_by_cache_keys_removes_associated_entries (line 1163) | def test_delete_by_cache_keys_removes_associated_entries(self, mock_co... method test_delete_by_redis_keys_removes_associated_entries (line 1213) | def test_delete_by_redis_keys_removes_associated_entries(self, mock_co... method test_delete_by_redis_keys_with_non_utf8_bytes_key (line 1271) | def test_delete_by_redis_keys_with_non_utf8_bytes_key(self, mock_conne... method test_flush (line 1305) | def test_flush(self, mock_connection): class TestUnitLRUPolicy (line 1348) | class TestUnitLRUPolicy: method test_type (line 1349) | def test_type(self): method test_evict_next (line 1353) | def test_evict_next(self, mock_connection): method test_evict_many (line 1386) | def test_evict_many(self, mock_connection): method test_touch (line 1433) | def test_touch(self, mock_connection): method test_throws_error_on_invalid_cache (line 1476) | def test_throws_error_on_invalid_cache(self): class TestUnitCacheConfiguration (line 1492) | class TestUnitCacheConfiguration: method test_get_max_size (line 1496) | def test_get_max_size(self, cache_conf: CacheConfig): method test_get_eviction_policy (line 1499) | def test_get_eviction_policy(self, cache_conf: CacheConfig): method test_is_exceeds_max_size (line 1502) | def test_is_exceeds_max_size(self, cache_conf: CacheConfig): method test_is_allowed_to_cache (line 1506) | def test_is_allowed_to_cache(self, cache_conf: CacheConfig): class TestUnitCacheProxy (line 1511) | class TestUnitCacheProxy: method mock_cache (line 1515) | def mock_cache(self, mock_connection): method mock_event_dispatcher (line 1520) | def mock_event_dispatcher(self): method cache_key (line 1525) | def cache_key(self): method test_initialization_creates_cache_proxy (line 1529) | def test_initialization_creates_cache_proxy(self, mock_cache): method test_set_calls_record_csc_eviction_when_cache_exceeds_max_size (line 1535) | def test_set_calls_record_csc_eviction_when_cache_exceeds_max_size( method test_set_does_not_call_record_csc_eviction_when_under_max_size (line 1584) | def test_set_does_not_call_record_csc_eviction_when_under_max_size( method test_collection_property_delegates_to_underlying_cache (line 1607) | def test_collection_property_delegates_to_underlying_cache(self, mock_... method test_config_property_delegates_to_underlying_cache (line 1612) | def test_config_property_delegates_to_underlying_cache(self, mock_cache): method test_eviction_policy_property_delegates_to_underlying_cache (line 1617) | def test_eviction_policy_property_delegates_to_underlying_cache(self, ... method test_size_property_delegates_to_underlying_cache (line 1622) | def test_size_property_delegates_to_underlying_cache( method test_get_delegates_to_underlying_cache (line 1642) | def test_get_delegates_to_underlying_cache(self, mock_cache, mock_conn... method test_delete_by_cache_keys_delegates_to_underlying_cache (line 1661) | def test_delete_by_cache_keys_delegates_to_underlying_cache( method test_delete_by_redis_keys_delegates_to_underlying_cache (line 1683) | def test_delete_by_redis_keys_delegates_to_underlying_cache( method test_flush_delegates_to_underlying_cache (line 1705) | def test_flush_delegates_to_underlying_cache(self, mock_cache, mock_co... method test_is_cachable_delegates_to_underlying_cache (line 1727) | def test_is_cachable_delegates_to_underlying_cache(self, mock_cache): FILE: tests/test_client.py class TestRedisClientMetricsRecording (line 14) | class TestRedisClientMetricsRecording: method mock_connection (line 24) | def mock_connection(self): method mock_connection_pool (line 41) | def mock_connection_pool(self, mock_connection): method mock_meter (line 49) | def mock_meter(self): method setup_redis_client_with_otel (line 75) | def setup_redis_client_with_otel( method test_execute_command_records_metrics (line 107) | def test_execute_command_records_metrics(self, setup_redis_client_with... method test_get_command_records_metrics (line 138) | def test_get_command_records_metrics( method test_command_error_records_error_count (line 170) | def test_command_error_records_error_count( method test_server_attributes_recorded_correctly (line 217) | def test_server_attributes_recorded_correctly(self, setup_redis_client... method test_multiple_commands_record_multiple_metrics (line 235) | def test_multiple_commands_record_multiple_metrics( method test_different_db_namespace_recorded (line 273) | def test_different_db_namespace_recorded(self, mock_connection_pool, m... method test_duration_is_positive (line 319) | def test_duration_is_positive(self, setup_redis_client_with_otel): method test_no_batch_size_for_single_command (line 335) | def test_no_batch_size_for_single_command(self, setup_redis_client_wit... method test_retry_records_metrics_on_each_attempt (line 352) | def test_retry_records_metrics_on_each_attempt( method test_retry_exhausted_records_final_error_metrics (line 437) | def test_retry_exhausted_records_final_error_metrics( FILE: tests/test_cluster.py class ProxyRequestHandler (line 73) | class ProxyRequestHandler(socketserver.BaseRequestHandler): method recv (line 74) | def recv(self, sock): method handle (line 81) | def handle(self): class NodeProxy (line 113) | class NodeProxy: method __init__ (line 116) | def __init__(self, addr, redis_addr): method start (line 129) | def start(self): method close (line 140) | def close(self): function slowlog (line 145) | def slowlog(request, r): function get_mocked_redis_client (line 169) | def get_mocked_redis_client( function mock_node_resp (line 255) | def mock_node_resp(node, response): function mock_node_resp_func (line 262) | def mock_node_resp_func(node, func): function mock_all_nodes_resp (line 269) | def mock_all_nodes_resp(rc, response): function find_node_ip_based_on_port (line 275) | def find_node_ip_based_on_port(cluster_client, port): function moved_redirection_helper (line 281) | def moved_redirection_helper(request, failover=False, circular_moved=Fal... class TestRedisClusterObj (line 345) | class TestRedisClusterObj: method test_host_port_startup_node (line 350) | def test_host_port_startup_node(self): method test_startup_nodes (line 358) | def test_startup_nodes(self): method test_empty_startup_nodes (line 375) | def test_empty_startup_nodes(self): method test_from_url (line 386) | def test_from_url(self, r): method test_execute_command_errors (line 397) | def test_execute_command_errors(self, r): method test_execute_command_node_flag_primaries (line 407) | def test_execute_command_node_flag_primaries(self, r): method test_execute_command_node_flag_replicas (line 422) | def test_execute_command_node_flag_replicas(self, r): method test_execute_command_node_flag_all_nodes (line 439) | def test_execute_command_node_flag_all_nodes(self, r): method test_execute_command_node_flag_random (line 449) | def test_execute_command_node_flag_random(self, r): method test_execute_command_default_node (line 462) | def test_execute_command_default_node(self, r): method test_ask_redirection (line 473) | def test_ask_redirection(self, r): method test_handling_cluster_failover_to_a_replica (line 499) | def test_handling_cluster_failover_to_a_replica(self, r): method test_moved_redirection (line 553) | def test_moved_redirection(self, request): method test_moved_redirection_after_failover (line 559) | def test_moved_redirection_after_failover(self, request): method test_moved_redirection_circular_moved (line 565) | def test_moved_redirection_circular_moved(self, request): method test_refresh_using_specific_nodes (line 572) | def test_refresh_using_specific_nodes(self, request): method test_reading_with_load_balancing_strategies (line 669) | def test_reading_with_load_balancing_strategies( method test_keyslot (line 749) | def test_keyslot(self, r): method test_get_node_name (line 766) | def test_get_node_name(self): method test_all_nodes (line 772) | def test_all_nodes(self, r): method test_all_nodes_masters (line 781) | def test_all_nodes_masters(self, r): method test_cluster_down_overreaches_retry_attempts (line 796) | def test_cluster_down_overreaches_retry_attempts(self, error): method test_user_on_connect_function (line 816) | def test_user_on_connect_function(self, request): method test_user_connection_pool_timeout (line 829) | def test_user_connection_pool_timeout(self, request): method test_set_default_node_success (line 845) | def test_set_default_node_success(self, r): method test_set_default_node_failure (line 859) | def test_set_default_node_failure(self, r): method test_get_node_from_key (line 869) | def test_get_node_from_key(self, r): method test_not_require_full_coverage_cluster_down_error (line 884) | def test_not_require_full_coverage_cluster_down_error(self, r): method test_timeout_error_topology_refresh_reuse_connections (line 912) | def test_timeout_error_topology_refresh_reuse_connections(self, r): method test_cluster_get_set_retry_object (line 949) | def test_cluster_get_set_retry_object(self, request): method test_cluster_retry_object (line 971) | def test_cluster_retry_object(self, r) -> None: method test_replace_cluster_node (line 996) | def test_replace_cluster_node(self, r) -> None: method test_default_node_is_replaced_after_exception (line 1003) | def test_default_node_is_replaced_after_exception(self, r): method test_address_remap (line 1019) | def test_address_remap(self, request, master_host): class TestClusterRedisCommands (line 1066) | class TestClusterRedisCommands: method test_case_insensitive_command_names (line 1071) | def test_case_insensitive_command_names(self, r): method test_get_and_set (line 1077) | def test_get_and_set(self, r): method test_get_and_set_with_load_balanced_client (line 1098) | def test_get_and_set_with_load_balanced_client( method test_mget_nonatomic (line 1119) | def test_mget_nonatomic(self, r): method test_mset_nonatomic (line 1128) | def test_mset_nonatomic(self, r): method test_config_set (line 1134) | def test_config_set(self, r): method test_cluster_config_resetstat (line 1137) | def test_cluster_config_resetstat(self, r): method test_client_setname (line 1150) | def test_client_setname(self, r): method test_exists (line 1156) | def test_exists(self, r): method test_delete (line 1161) | def test_delete(self, r): method test_touch (line 1167) | def test_touch(self, r): method test_unlink (line 1172) | def test_unlink(self, r): method test_pubsub_channels_merge_results (line 1181) | def test_pubsub_channels_merge_results(self, r): method test_pubsub_numsub_merge_results (line 1209) | def test_pubsub_numsub_merge_results(self, r): method test_pubsub_numpat_merge_results (line 1230) | def test_pubsub_numpat_merge_results(self, r): method test_cluster_pubsub_channels (line 1251) | def test_cluster_pubsub_channels(self, r): method test_cluster_pubsub_numsub (line 1262) | def test_cluster_pubsub_numsub(self, r): method test_cluster_myid (line 1279) | def test_cluster_myid(self, r): method test_cluster_slots (line 1285) | def test_cluster_slots(self, r): method test_cluster_shards (line 1295) | def test_cluster_shards(self, r): method test_cluster_myshardid (line 1325) | def test_cluster_myshardid(self, r): method test_cluster_addslots (line 1331) | def test_cluster_addslots(self, r): method test_cluster_addslotsrange (line 1338) | def test_cluster_addslotsrange(self, r): method test_cluster_countkeysinslot (line 1344) | def test_cluster_countkeysinslot(self, r): method test_cluster_count_failure_report (line 1349) | def test_cluster_count_failure_report(self, r): method test_cluster_delslots (line 1354) | def test_cluster_delslots(self): method test_cluster_delslotsrange (line 1371) | def test_cluster_delslotsrange(self): method test_cluster_failover (line 1393) | def test_cluster_failover(self, r): method test_cluster_info (line 1403) | def test_cluster_info(self, r): method test_cluster_keyslot (line 1409) | def test_cluster_keyslot(self, r): method test_cluster_meet (line 1414) | def test_cluster_meet(self, r): method test_cluster_nodes (line 1420) | def test_cluster_nodes(self, r): method test_cluster_nodes_importing_migrating (line 1449) | def test_cluster_nodes_importing_migrating(self, r): method test_cluster_replicate (line 1486) | def test_cluster_replicate(self, r): method test_cluster_reset (line 1499) | def test_cluster_reset(self, r): method test_cluster_save_config (line 1508) | def test_cluster_save_config(self, r): method test_cluster_get_keys_in_slot (line 1518) | def test_cluster_get_keys_in_slot(self, r): method test_cluster_set_config_epoch (line 1526) | def test_cluster_set_config_epoch(self, r): method test_cluster_setslot (line 1534) | def test_cluster_setslot(self, r): method test_cluster_setslot_stable (line 1545) | def test_cluster_setslot_stable(self, r): method test_cluster_replicas (line 1552) | def test_cluster_replicas(self, r): method test_cluster_links (line 1573) | def test_cluster_links(self, r): method test_cluster_flshslots_not_implemented (line 1589) | def test_cluster_flshslots_not_implemented(self, r): method test_cluster_bumpepoch_not_implemented (line 1593) | def test_cluster_bumpepoch_not_implemented(self, r): method test_readonly (line 1598) | def test_readonly(self): method test_readwrite (line 1609) | def test_readwrite(self): method test_bgsave (line 1620) | def test_bgsave(self, r): method test_info (line 1625) | def test_info(self, r): method _init_slowlog_test (line 1638) | def _init_slowlog_test(self, r, node): method _teardown_slowlog_test (line 1643) | def _teardown_slowlog_test(self, r, node, prev_limit): method test_slowlog_get (line 1649) | def test_slowlog_get(self, r, slowlog): method test_slowlog_get_limit (line 1675) | def test_slowlog_get_limit(self, r, slowlog): method test_slowlog_length (line 1686) | def test_slowlog_length(self, r, slowlog): method test_time (line 1692) | def test_time(self, r): method test_memory_usage (line 1699) | def test_memory_usage(self, r): method test_memory_malloc_stats (line 1705) | def test_memory_malloc_stats(self, r): method test_memory_stats (line 1710) | def test_memory_stats(self, r): method test_memory_help (line 1722) | def test_memory_help(self, r): method test_memory_doctor (line 1727) | def test_memory_doctor(self, r): method test_lastsave (line 1732) | def test_lastsave(self, r): method test_cluster_echo (line 1736) | def test_cluster_echo(self, r): method test_debug_segfault (line 1741) | def test_debug_segfault(self, r): method test_config_resetstat (line 1745) | def test_config_resetstat(self, r): method test_client_trackinginfo (line 1759) | def test_client_trackinginfo(self, r): method test_client_tracking (line 1767) | def test_client_tracking(self, r): method test_client_pause (line 1790) | def test_client_pause(self, r): method test_client_unpause (line 1799) | def test_client_unpause(self, r): method test_client_id (line 1803) | def test_client_id(self, r): method test_client_unblock (line 1808) | def test_client_unblock(self, r): method test_client_getredir (line 1816) | def test_client_getredir(self, r): method test_client_info (line 1822) | def test_client_info(self, r): method test_client_kill (line 1829) | def test_client_kill(self, r, r2): method test_cluster_bitop_not_empty_string (line 1853) | def test_cluster_bitop_not_empty_string(self, r): method test_cluster_bitop_not (line 1859) | def test_cluster_bitop_not(self, r): method test_cluster_bitop_not_in_place (line 1867) | def test_cluster_bitop_not_in_place(self, r): method test_cluster_bitop_single_string (line 1875) | def test_cluster_bitop_single_string(self, r): method test_cluster_bitop_string_operands (line 1886) | def test_cluster_bitop_string_operands(self, r): method test_cluster_copy (line 1897) | def test_cluster_copy(self, r): method test_cluster_copy_and_replace (line 1905) | def test_cluster_copy_and_replace(self, r): method test_cluster_lmove (line 1912) | def test_cluster_lmove(self, r): method test_cluster_blmove (line 1918) | def test_cluster_blmove(self, r): method test_cluster_msetnx (line 1923) | def test_cluster_msetnx(self, r): method test_cluster_rename (line 1932) | def test_cluster_rename(self, r): method test_cluster_renamenx (line 1938) | def test_cluster_renamenx(self, r): method test_cluster_blpop (line 1946) | def test_cluster_blpop(self, r): method test_cluster_brpop (line 1979) | def test_cluster_brpop(self, r): method test_cluster_brpoplpush (line 2012) | def test_cluster_brpoplpush(self, r): method test_cluster_brpoplpush_empty_string (line 2021) | def test_cluster_brpoplpush_empty_string(self, r): method test_cluster_rpoplpush (line 2025) | def test_cluster_rpoplpush(self, r): method test_cluster_sdiff (line 2032) | def test_cluster_sdiff(self, r): method test_cluster_sdiffstore (line 2038) | def test_cluster_sdiffstore(self, r): method test_cluster_sinter (line 2046) | def test_cluster_sinter(self, r): method test_cluster_sinterstore (line 2052) | def test_cluster_sinterstore(self, r): method test_cluster_smove (line 2060) | def test_cluster_smove(self, r): method test_cluster_sunion (line 2067) | def test_cluster_sunion(self, r): method test_cluster_sunionstore (line 2072) | def test_cluster_sunionstore(self, r): method test_cluster_zdiff (line 2079) | def test_cluster_zdiff(self, r): method test_cluster_zdiffstore (line 2092) | def test_cluster_zdiffstore(self, r): method test_cluster_zinter (line 2101) | def test_cluster_zinter(self, r): method test_cluster_zinterstore_sum (line 2134) | def test_cluster_zinterstore_sum(self, r): method test_cluster_zinterstore_max (line 2146) | def test_cluster_zinterstore_max(self, r): method test_cluster_zinterstore_min (line 2161) | def test_cluster_zinterstore_min(self, r): method test_cluster_zinterstore_with_weight (line 2176) | def test_cluster_zinterstore_with_weight(self, r): method test_cluster_bzpopmax (line 2189) | def test_cluster_bzpopmax(self, r): method test_cluster_bzpopmin (line 2226) | def test_cluster_bzpopmin(self, r): method test_cluster_zrangestore (line 2263) | def test_cluster_zrangestore(self, r): method test_cluster_zunion (line 2290) | def test_cluster_zunion(self, r): method test_cluster_zunionstore_sum (line 2324) | def test_cluster_zunionstore_sum(self, r): method test_cluster_zunionstore_max (line 2336) | def test_cluster_zunionstore_max(self, r): method test_cluster_zunionstore_min (line 2351) | def test_cluster_zunionstore_min(self, r): method test_cluster_zunionstore_with_weight (line 2366) | def test_cluster_zunionstore_with_weight(self, r): method test_cluster_pfcount (line 2379) | def test_cluster_pfcount(self, r): method test_cluster_pfmerge (line 2389) | def test_cluster_pfmerge(self, r): method test_cluster_sort_store (line 2401) | def test_cluster_sort_store(self, r): method test_cluster_geosearchstore (line 2408) | def test_cluster_geosearchstore(self, r): method test_geosearchstore_dist (line 2427) | def test_geosearchstore_dist(self, r): method test_cluster_georadius_store (line 2447) | def test_cluster_georadius_store(self, r): method test_cluster_georadius_store_dist (line 2462) | def test_cluster_georadius_store_dist(self, r): method test_cluster_dbsize (line 2476) | def test_cluster_dbsize(self, r): method test_cluster_keys (line 2481) | def test_cluster_keys(self, r): method test_cluster_scan (line 2495) | def test_cluster_scan(self, r): method test_cluster_scan_type (line 2514) | def test_cluster_scan_type(self, r): method test_cluster_scan_iter (line 2535) | def test_cluster_scan_iter(self, r): method test_cluster_randomkey (line 2554) | def test_cluster_randomkey(self, r): method test_acl_log (line 2563) | def test_acl_log(self, r, request): method generate_lib_code (line 2606) | def generate_lib_code(self, lib_name): method try_delete_libs (line 2609) | def try_delete_libs(self, r, *lib_names): method test_hotkeys_cluster (line 2617) | def test_hotkeys_cluster(self, r): class TestNodesManager (line 2631) | class TestNodesManager: method test_load_balancer (line 2636) | def test_load_balancer(self, r): method test_init_slots_cache_not_all_slots_covered (line 2693) | def test_init_slots_cache_not_all_slots_covered(self): method test_init_slots_cache_not_require_full_coverage_success (line 2714) | def test_init_slots_cache_not_require_full_coverage_success(self): method test_init_slots_cache (line 2735) | def test_init_slots_cache(self): method test_init_promote_server_type_for_node_in_cache (line 2764) | def test_init_promote_server_type_for_node_in_cache(self): method test_init_slots_cache_cluster_mode_disabled (line 2815) | def test_init_slots_cache_cluster_mode_disabled(self): method test_empty_startup_nodes (line 2829) | def test_empty_startup_nodes(self): method test_wrong_startup_nodes_type (line 2837) | def test_wrong_startup_nodes_type(self): method test_init_slots_cache_slots_collision (line 2845) | def test_init_slots_cache_slots_collision(self, request): method test_cluster_one_instance (line 2899) | def test_cluster_one_instance(self): method test_init_with_down_node (line 2918) | def test_init_with_down_node(self): method test_init_slots_dynamic_startup_nodes (line 2981) | def test_init_slots_dynamic_startup_nodes(self, dynamic_startup_nodes): method test_connection_pool_class (line 3004) | def test_connection_pool_class(self, connection_pool_class): method test_allow_custom_queue_class (line 3017) | def test_allow_custom_queue_class(self, queue_class): method test_concurrent_initialize_exact_timing (line 3028) | def test_concurrent_initialize_exact_timing(self): method test_concurrent_slot_moves (line 3112) | def test_concurrent_slot_moves(self): method test_concurrent_initialize_and_move_slot (line 3168) | def test_concurrent_initialize_and_move_slot(self): method test_move_node_to_end_of_cached_nodes (line 3238) | def test_move_node_to_end_of_cached_nodes(self): method test_move_node_to_end_of_cached_nodes_nonexistent (line 3286) | def test_move_node_to_end_of_cached_nodes_nonexistent(self): method test_move_node_to_end_of_cached_nodes_single_node (line 3309) | def test_move_node_to_end_of_cached_nodes_single_node(self): class TestClusterPubSubObject (line 3333) | class TestClusterPubSubObject: method test_init_pubsub_with_host_and_port (line 3338) | def test_init_pubsub_with_host_and_port(self, r): method test_init_pubsub_with_node (line 3346) | def test_init_pubsub_with_node(self, r): method test_init_pubusub_without_specifying_node (line 3354) | def test_init_pubusub_without_specifying_node(self, r): method test_init_pubsub_with_a_non_existent_node (line 3367) | def test_init_pubsub_with_a_non_existent_node(self, r): method test_init_pubsub_with_a_non_existent_host_port (line 3376) | def test_init_pubsub_with_a_non_existent_host_port(self, r): method test_init_pubsub_host_or_port (line 3385) | def test_init_pubsub_host_or_port(self, r): method test_get_redis_connection (line 3396) | def test_get_redis_connection(self, r): class TestClusterPipeline (line 3407) | class TestClusterPipeline: method test_blocked_methods (line 3412) | def test_blocked_methods(self, r): method test_blocked_arguments (line 3429) | def test_blocked_arguments(self, r): method test_redis_cluster_pipeline (line 3441) | def test_redis_cluster_pipeline(self, r): method test_mget_disabled (line 3450) | def test_mget_disabled(self, r): method test_mset_disabled (line 3458) | def test_mset_disabled(self, r): method test_rename_disabled (line 3466) | def test_rename_disabled(self, r): method test_renamenx_disabled (line 3474) | def test_renamenx_disabled(self, r): method test_delete_single (line 3482) | def test_delete_single(self, r): method test_multi_delete_unsupported_cross_slot (line 3491) | def test_multi_delete_unsupported_cross_slot(self, r): method test_multi_delete_supported_single_slot (line 3501) | def test_multi_delete_supported_single_slot(self, r): method test_unlink_single (line 3511) | def test_unlink_single(self, r): method test_multi_unlink_unsupported (line 3520) | def test_multi_unlink_unsupported(self, r): method test_brpoplpush_disabled (line 3530) | def test_brpoplpush_disabled(self, r): method test_rpoplpush_disabled (line 3538) | def test_rpoplpush_disabled(self, r): method test_sort_disabled (line 3546) | def test_sort_disabled(self, r): method test_sdiff_disabled (line 3554) | def test_sdiff_disabled(self, r): method test_sdiffstore_disabled (line 3562) | def test_sdiffstore_disabled(self, r): method test_sinter_disabled (line 3570) | def test_sinter_disabled(self, r): method test_sinterstore_disabled (line 3578) | def test_sinterstore_disabled(self, r): method test_smove_disabled (line 3586) | def test_smove_disabled(self, r): method test_sunion_disabled (line 3594) | def test_sunion_disabled(self, r): method test_sunionstore_disabled (line 3602) | def test_sunionstore_disabled(self, r): method test_spfmerge_disabled (line 3610) | def test_spfmerge_disabled(self, r): method test_multi_key_operation_with_a_single_slot (line 3618) | def test_multi_key_operation_with_a_single_slot(self, r): method test_multi_key_operation_with_multi_slots (line 3633) | def test_multi_key_operation_with_multi_slots(self, r): method test_connection_error_not_raised (line 3651) | def test_connection_error_not_raised(self, r): method test_connection_error_raised (line 3669) | def test_connection_error_raised(self, r): method test_asking_error (line 3686) | def test_asking_error(self, r): method test_error_is_truncated (line 3713) | def test_error_is_truncated(self, r): method test_return_previously_acquired_connections (line 3732) | def test_return_previously_acquired_connections(self, r): method test_empty_stack (line 3757) | def test_empty_stack(self, r): method test_exec_error_in_response (line 3767) | def test_exec_error_in_response(self, r): method test_exec_error_in_no_transaction_pipeline (line 3798) | def test_exec_error_in_no_transaction_pipeline(self, r): method test_pipeline_discard (line 3815) | def test_pipeline_discard(self, r): method test_connection_leak_on_non_timeout_error_during_connect (line 3847) | def test_connection_leak_on_non_timeout_error_during_connect(self, r): method test_dirty_connection_not_reused (line 3882) | def test_dirty_connection_not_reused(self, r): class TestReadOnlyPipeline (line 3944) | class TestReadOnlyPipeline: method test_pipeline_readonly (line 3949) | def test_pipeline_readonly(self, r): method test_moved_redirection_on_slave_with_default (line 3967) | def test_moved_redirection_on_slave_with_default(self, r): method test_readonly_pipeline_from_readonly_client (line 3998) | def test_readonly_pipeline_from_readonly_client(self, request): method test_readonly_pipeline_with_reading_from_replicas_strategies (line 4032) | def test_readonly_pipeline_with_reading_from_replicas_strategies( class TestClusterMonitor (line 4066) | class TestClusterMonitor: method test_wait_command_not_found (line 4067) | def test_wait_command_not_found(self, r): method test_response_values (line 4075) | def test_response_values(self, r): method test_command_with_quoted_key (line 4089) | def test_command_with_quoted_key(self, r): method test_command_with_binary_data (line 4097) | def test_command_with_binary_data(self, r): method test_command_with_escaped_data (line 4106) | def test_command_with_escaped_data(self, r): method test_flush (line 4115) | def test_flush(self, r): class TestClusterMetricsRecording (line 4124) | class TestClusterMetricsRecording: method mock_meter (line 4134) | def mock_meter(self): method cluster_with_otel (line 4153) | def cluster_with_otel(self, r, mock_meter): method test_execute_command_records_metric (line 4183) | def test_execute_command_records_metric(self, cluster_with_otel): method test_get_command_records_metric (line 4210) | def test_get_command_records_metric(self, cluster_with_otel): method test_multiple_commands_record_multiple_metrics (line 4224) | def test_multiple_commands_record_multiple_metrics(self, cluster_with_... method test_server_attributes_recorded (line 4238) | def test_server_attributes_recorded(self, cluster_with_otel): method test_duration_is_positive (line 4260) | def test_duration_is_positive(self, cluster_with_otel): method test_no_batch_size_for_single_command (line 4274) | def test_no_batch_size_for_single_command(self, cluster_with_otel): method test_different_commands_record_correct_names (line 4288) | def test_different_commands_record_correct_names(self, cluster_with_ot... method test_command_error_records_metric_with_error_type (line 4309) | def test_command_error_records_metric_with_error_type(self, cluster_wi... class TestClusterPipelineMetricsRecording (line 4337) | class TestClusterPipelineMetricsRecording: method mock_meter (line 4347) | def mock_meter(self): method cluster_pipeline_with_otel (line 4366) | def cluster_pipeline_with_otel(self, r, mock_meter): method test_pipeline_execute_records_metric (line 4396) | def test_pipeline_execute_records_metric(self, cluster_pipeline_with_o... method test_pipeline_server_attributes_recorded (line 4423) | def test_pipeline_server_attributes_recorded(self, cluster_pipeline_wi... method test_pipeline_duration_is_positive (line 4453) | def test_pipeline_duration_is_positive(self, cluster_pipeline_with_otel): method test_multiple_pipeline_executions_record_multiple_metrics (line 4476) | def test_multiple_pipeline_executions_record_multiple_metrics( method test_empty_pipeline_does_not_record_metric (line 4503) | def test_empty_pipeline_does_not_record_metric(self, cluster_pipeline_... method test_pipeline_error_records_metric_with_error (line 4522) | def test_pipeline_error_records_metric_with_error(self, cluster_pipeli... method test_pipeline_error_records_metric_with_error_type (line 4549) | def test_pipeline_error_records_metric_with_error_type( method test_pipeline_multi_node_records_multiple_metrics (line 4589) | def test_pipeline_multi_node_records_multiple_metrics( method test_pipeline_duration_recorded_per_node (line 4620) | def test_pipeline_duration_recorded_per_node(self, cluster_pipeline_wi... FILE: tests/test_cluster_transaction.py function _find_source_and_target_node_for_slot (line 21) | def _find_source_and_target_node_for_slot( class TestClusterTransaction (line 42) | class TestClusterTransaction: method test_pipeline_is_true (line 44) | def test_pipeline_is_true(self, r): method test_pipeline_empty_transaction (line 50) | def test_pipeline_empty_transaction(self, r): method test_executes_transaction_against_cluster (line 57) | def test_executes_transaction_against_cluster(self, r): method test_throws_exception_on_different_hash_slots (line 86) | def test_throws_exception_on_different_hash_slots(self, r): method test_throws_exception_with_watch_on_different_hash_slots (line 98) | def test_throws_exception_with_watch_on_different_hash_slots(self, r): method test_transaction_with_watched_keys (line 107) | def test_transaction_with_watched_keys(self, r): method test_retry_transaction_during_unfinished_slot_migration (line 118) | def test_retry_transaction_during_unfinished_slot_migration(self, r): method test_retry_transaction_during_slot_migration_successful (line 156) | def test_retry_transaction_during_slot_migration_successful(self, r): method test_retry_transaction_with_watch_after_slot_migration (line 200) | def test_retry_transaction_with_watch_after_slot_migration(self, r): method test_retry_transaction_with_watch_during_slot_migration (line 222) | def test_retry_transaction_with_watch_during_slot_migration(self, r): method test_retry_transaction_on_connection_error (line 265) | def test_retry_transaction_on_connection_error(self, r, mock_connection): method test_retry_transaction_on_connection_error_with_watched_keys (line 300) | def test_retry_transaction_on_connection_error_with_watched_keys( method test_exec_error_raised (line 340) | def test_exec_error_raised(self, r): method test_parse_error_raised (line 357) | def test_parse_error_raised(self, r): method test_transaction_callable (line 374) | def test_transaction_callable(self, r): method test_transaction_discard (line 401) | def test_transaction_discard(self, r): class TestClusterTransactionMetricsRecording (line 415) | class TestClusterTransactionMetricsRecording: method mock_meter (line 426) | def mock_meter(self): method cluster_transaction_with_otel (line 445) | def cluster_transaction_with_otel(self, r, mock_meter): method test_transaction_execute_records_metric (line 469) | def test_transaction_execute_records_metric(self, cluster_transaction_... method test_transaction_server_attributes_recorded (line 503) | def test_transaction_server_attributes_recorded( method test_transaction_duration_is_positive (line 535) | def test_transaction_duration_is_positive(self, cluster_transaction_wi... method test_multiple_transaction_executions_record_multiple_metrics (line 558) | def test_multiple_transaction_executions_record_multiple_metrics( method test_empty_transaction_does_not_record_metric (line 585) | def test_empty_transaction_does_not_record_metric( method test_transaction_with_watch_records_metric (line 606) | def test_transaction_with_watch_records_metric(self, cluster_transacti... method test_watch_command_records_metric (line 636) | def test_watch_command_records_metric(self, cluster_transaction_with_o... method test_immediate_command_records_metric_with_server_info (line 664) | def test_immediate_command_records_metric_with_server_info( method test_transaction_error_records_metric_with_error_type (line 708) | def test_transaction_error_records_metric_with_error_type( method test_watch_and_transaction_record_separate_metrics (line 737) | def test_watch_and_transaction_record_separate_metrics( method test_immediate_get_command_records_metric (line 772) | def test_immediate_get_command_records_metric(self, cluster_transactio... FILE: tests/test_command_parser.py class TestCommandsParser (line 14) | class TestCommandsParser: method test_init_commands (line 15) | def test_init_commands(self, r): method test_get_keys_predetermined_key_location (line 20) | def test_get_keys_predetermined_key_location(self, r): method test_get_moveable_keys (line 31) | def test_get_moveable_keys(self, r): method test_get_eval_keys_with_0_keys (line 97) | def test_get_eval_keys_with_0_keys(self, r): method test_get_pubsub_keys (line 102) | def test_get_pubsub_keys(self, r): method test_get_command_policies (line 116) | def test_get_command_policies(self, r): method test_get_command_policies_json_debug_updated (line 135) | def test_get_command_policies_json_debug_updated(self, r): FILE: tests/test_command_policies.py class TestBasePolicyResolver (line 17) | class TestBasePolicyResolver: method test_resolve (line 18) | def test_resolve(self): class TestClusterWithPolicies (line 88) | class TestClusterWithPolicies: method test_resolves_correctly_policies (line 89) | def test_resolves_correctly_policies(self, r, monkeypatch): FILE: tests/test_commands.py function slowlog (line 42) | def slowlog(request, r): function get_stream_message (line 57) | def get_stream_message(client, stream, message_id): class TestResponseCallbacks (line 66) | class TestResponseCallbacks: method test_response_callbacks (line 69) | def test_response_callbacks(self, r): method test_case_insensitive_command_names (line 81) | def test_case_insensitive_command_names(self, r): class TestRedisCommands (line 85) | class TestRedisCommands: method test_auth (line 88) | def test_auth(self, r, request): method test_command_on_invalid_key_type (line 136) | def test_command_on_invalid_key_type(self, r): method test_acl_cat_no_category (line 143) | def test_acl_cat_no_category(self, r): method test_acl_cat_contain_modules_no_category (line 150) | def test_acl_cat_contain_modules_no_category(self, r): method test_acl_cat_with_category (line 167) | def test_acl_cat_with_category(self, r): method test_acl_modules_cat_with_category (line 174) | def test_acl_modules_cat_with_category(self, r): method test_acl_dryrun (line 209) | def test_acl_dryrun(self, r, request): method test_acl_deluser (line 224) | def test_acl_deluser(self, r, request): method test_acl_genpass (line 249) | def test_acl_genpass(self, r): method test_acl_getuser_setuser (line 264) | def test_acl_getuser_setuser(self, r, request): method test_acl_help (line 397) | def test_acl_help(self, r): method test_acl_list (line 404) | def test_acl_list(self, r, request): method test_acl_log (line 420) | def test_acl_log(self, r, request): method test_acl_setuser_categories_without_prefix_fails (line 467) | def test_acl_setuser_categories_without_prefix_fails(self, r, request): method test_acl_setuser_commands_without_prefix_fails (line 480) | def test_acl_setuser_commands_without_prefix_fails(self, r, request): method test_acl_setuser_add_passwords_and_nopass_fails (line 493) | def test_acl_setuser_add_passwords_and_nopass_fails(self, r, request): method test_acl_users (line 505) | def test_acl_users(self, r): method test_acl_whoami (line 511) | def test_acl_whoami(self, r): method test_acl_modules_commands (line 517) | def test_acl_modules_commands(self, r, request): method test_acl_modules_category_commands (line 580) | def test_acl_modules_category_commands(self, r, request): method test_client_list (line 633) | def test_client_list(self, r): method test_client_info (line 640) | def test_client_info(self, r): method test_client_list_types_not_replica (line 647) | def test_client_list_types_not_replica(self, r): method test_client_list_replica (line 655) | def test_client_list_replica(self, r): method test_client_list_client_id (line 661) | def test_client_list_client_id(self, r, request): method test_client_id (line 680) | def test_client_id(self, r): method test_client_trackinginfo (line 686) | def test_client_trackinginfo(self, r): method test_client_tracking (line 694) | def test_client_tracking(self, r, r2): method test_client_unblock (line 715) | def test_client_unblock(self, r): method test_client_getname (line 723) | def test_client_getname(self, r): method test_client_setname (line 728) | def test_client_setname(self, r): method test_client_setinfo (line 733) | def test_client_setinfo(self, r: redis.Redis): method test_client_setinfo_with_driver_info (line 754) | def test_client_setinfo_with_driver_info(self, r: redis.Redis): method test_client_kill (line 767) | def test_client_kill(self, r, r2): method test_client_kill_filter_invalid_params (line 791) | def test_client_kill_filter_invalid_params(self, r): method test_client_kill_filter_by_id (line 806) | def test_client_kill_filter_by_id(self, r, r2): method test_client_kill_filter_by_addr (line 832) | def test_client_kill_filter_by_addr(self, r, r2): method test_client_list_after_client_setname (line 857) | def test_client_list_after_client_setname(self, r): method test_client_kill_filter_by_laddr (line 864) | def test_client_kill_filter_by_laddr(self, r, r2): method test_client_kill_filter_by_user (line 881) | def test_client_kill_filter_by_user(self, r, request): method test_client_kill_filter_by_maxage (line 901) | def test_client_kill_filter_by_maxage(self, r, request): method test_client_pause (line 915) | def test_client_pause(self, r): method test_client_pause_all (line 923) | def test_client_pause_all(self, r, r2): method test_client_unpause (line 932) | def test_client_unpause(self, r): method test_client_no_evict (line 937) | def test_client_no_evict(self, r): method test_client_no_touch (line 944) | def test_client_no_touch(self, r): method test_client_reply (line 952) | def test_client_reply(self, r, r_timeout): method test_client_getredir (line 967) | def test_client_getredir(self, r): method test_hello_notI_implemented (line 972) | def test_hello_notI_implemented(self, r): method test_config_get (line 976) | def test_config_get(self, r): method test_config_get_multi_params (line 983) | def test_config_get_multi_params(self, r: redis.Redis): method test_config_resetstat (line 990) | def test_config_resetstat(self, r): method test_config_set (line 999) | def test_config_set(self, r): method test_config_set_multi_params (line 1007) | def test_config_set_multi_params(self, r: redis.Redis): method test_config_get_for_modules (line 1017) | def test_config_get_for_modules(self, r: redis.Redis): method test_config_set_for_search_module (line 1032) | def test_config_set_for_search_module(self, r: redis.Redis): method test_failover (line 1054) | def test_failover(self, r): method test_dbsize (line 1059) | def test_dbsize(self, r): method test_echo (line 1065) | def test_echo(self, r): method test_info (line 1069) | def test_info(self, r): method test_info_multi_sections (line 1079) | def test_info_multi_sections(self, r): method test_info_with_modules (line 1087) | def test_info_with_modules(self, r: redis.Redis): method test_lastsave (line 1102) | def test_lastsave(self, r): method test_lolwut (line 1108) | def test_lolwut(self, r): method test_lolwut_v8_and_higher (line 1117) | def test_lolwut_v8_and_higher(self, r): method test_reset (line 1127) | def test_reset(self, r): method test_object (line 1130) | def test_object(self, r): method test_ping (line 1137) | def test_ping(self, r): method test_quit (line 1141) | def test_quit(self, r): method test_role (line 1147) | def test_role(self, r): method test_select (line 1154) | def test_select(self, r): method test_slowlog_get (line 1160) | def test_slowlog_get(self, r, slowlog): method test_slowlog_get_limit (line 1212) | def test_slowlog_get_limit(self, r, slowlog): method test_slowlog_length (line 1221) | def test_slowlog_length(self, r, slowlog): method test_time (line 1226) | def test_time(self, r): method test_hotkeys_start_basic (line 1234) | def test_hotkeys_start_basic(self, r): method test_hotkeys_start_with_all_metrics (line 1248) | def test_hotkeys_start_with_all_metrics(self, r): method test_hotkeys_start_with_duration (line 1262) | def test_hotkeys_start_with_duration(self, r): method test_hotkeys_start_with_sample_ratio (line 1276) | def test_hotkeys_start_with_sample_ratio(self, r): method test_hotkeys_start_fail__on_noncluster_setup_with_slots (line 1290) | def test_hotkeys_start_fail__on_noncluster_setup_with_slots(self, r): method test_hotkeys_start_with_all_parameters (line 1305) | def test_hotkeys_start_with_all_parameters(self, r): method test_hotkeys_stop (line 1322) | def test_hotkeys_stop(self, r): method test_hotkeys_reset (line 1338) | def test_hotkeys_reset(self, r): method test_hotkeys_get_ongoing_session (line 1379) | def test_hotkeys_get_ongoing_session(self, r): method test_hotkeys_get_terminated_session (line 1411) | def test_hotkeys_get_terminated_session(self, r): method test_hotkeys_get_all_fields (line 1441) | def test_hotkeys_get_all_fields(self, r): method test_hotkeys_get_all_fields_decoded (line 1492) | def test_hotkeys_get_all_fields_decoded(self, decoded_r: redis.Redis): method test_bgsave (line 1541) | def test_bgsave(self, r): method test_never_decode_option (line 1546) | def test_never_decode_option(self, r: redis.Redis): method test_empty_response_option (line 1551) | def test_empty_response_option(self, r: redis.Redis): method test_append (line 1557) | def test_append(self, r): method test_bitcount (line 1564) | def test_bitcount(self, r): method test_bitcount_mode (line 1583) | def test_bitcount_mode(self, r): method test_bitop_not_empty_string (line 1593) | def test_bitop_not_empty_string(self, r): method test_bitop_not (line 1600) | def test_bitop_not(self, r): method test_bitop_not_in_place (line 1609) | def test_bitop_not_in_place(self, r): method test_bitop_single_string (line 1618) | def test_bitop_single_string(self, r): method test_bitop_string_operands (line 1630) | def test_bitop_string_operands(self, r): method test_bitop_diff (line 1642) | def test_bitop_diff(self, r): method test_bitop_diff1 (line 1656) | def test_bitop_diff1(self, r): method test_bitop_andor (line 1672) | def test_bitop_andor(self, r): method test_bitop_one (line 1688) | def test_bitop_one(self, r): method test_bitop_new_operations_with_empty_keys (line 1704) | def test_bitop_new_operations_with_empty_keys(self, r): method test_bitop_new_operations_return_values (line 1721) | def test_bitop_new_operations_return_values(self, r): method test_bitpos (line 1739) | def test_bitpos(self, r): method test_bitpos_wrong_arguments (line 1752) | def test_bitpos_wrong_arguments(self, r): method test_bitpos_mode (line 1761) | def test_bitpos_mode(self, r): method test_copy (line 1771) | def test_copy(self, r): method test_copy_and_replace (line 1780) | def test_copy_and_replace(self, r): method test_copy_to_another_database (line 1788) | def test_copy_to_another_database(self, request): method test_decr (line 1795) | def test_decr(self, r): method test_decrby (line 1803) | def test_decrby(self, r): method test_delete (line 1808) | def test_delete(self, r): method test_delete_with_multiple_keys (line 1813) | def test_delete_with_multiple_keys(self, r): method test_delitem (line 1820) | def test_delitem(self, r): method _ensure_str (line 1825) | def _ensure_str(self, x): method _server_xxh3_digest (line 1828) | def _server_xxh3_digest(self, r, key): method test_delex_nonexistent (line 1837) | def test_delex_nonexistent(self, r): method test_delex_unconditional_delete_string (line 1842) | def test_delex_unconditional_delete_string(self, r): method test_delex_unconditional_delete_nonstring_allowed (line 1849) | def test_delex_unconditional_delete_nonstring_allowed(self, r): method test_delex_ifeq (line 1862) | def test_delex_ifeq(self, r): method test_delex_ifne (line 1872) | def test_delex_ifne(self, r): method test_delex_with_conditionon_nonstring_values (line 1882) | def test_delex_with_conditionon_nonstring_values(self, r): method test_delex_ifdeq_and_ifdne (line 1893) | def test_delex_ifdeq_and_ifdne(self, r, val): method test_delex_pipeline (line 1917) | def test_delex_pipeline(self, r): method test_delex_mutual_exclusion_client_side (line 1927) | def test_delex_mutual_exclusion_client_side(self, r): method test_unlink (line 1934) | def test_unlink(self, r): method test_unlink_with_multiple_keys (line 1941) | def test_unlink_with_multiple_keys(self, r): method test_lcs (line 1950) | def test_lcs(self, r): method test_dump_and_restore (line 1964) | def test_dump_and_restore(self, r): method test_dump_and_restore_and_replace (line 1972) | def test_dump_and_restore_and_replace(self, r): method test_dump_and_restore_absttl (line 1982) | def test_dump_and_restore_absttl(self, r): method test_exists (line 1993) | def test_exists(self, r): method test_exists_contains (line 2000) | def test_exists_contains(self, r): method test_expire (line 2005) | def test_expire(self, r): method test_expire_option_nx (line 2014) | def test_expire_option_nx(self, r): method test_expire_option_xx (line 2020) | def test_expire_option_xx(self, r): method test_expire_option_gt (line 2027) | def test_expire_option_gt(self, r): method test_expire_option_lt (line 2033) | def test_expire_option_lt(self, r): method test_expireat_datetime (line 2038) | def test_expireat_datetime(self, r): method test_expireat_no_key (line 2044) | def test_expireat_no_key(self, r): method test_expireat_unixtime (line 2048) | def test_expireat_unixtime(self, r): method test_expiretime (line 2056) | def test_expiretime(self, r): method test_expireat_option_nx (line 2062) | def test_expireat_option_nx(self, r): method test_expireat_option_xx (line 2070) | def test_expireat_option_xx(self, r): method test_expireat_option_gt (line 2079) | def test_expireat_option_gt(self, r): method test_expireat_option_lt (line 2089) | def test_expireat_option_lt(self, r): method test_digest_nonexistent_returns_none (line 2099) | def test_digest_nonexistent_returns_none(self, r): method test_digest_wrong_type_raises (line 2103) | def test_digest_wrong_type_raises(self, r): method test_digest_response_when_available (line 2112) | def test_digest_response_when_available(self, r, value): method test_local_digest_matches_server (line 2139) | def test_local_digest_matches_server(self, r, value): method test_pipeline_digest (line 2160) | def test_pipeline_digest(self, r): method test_get_and_set (line 2173) | def test_get_and_set(self, r): method test_getdel (line 2187) | def test_getdel(self, r): method test_getex (line 2194) | def test_getex(self, r): method test_getitem_and_setitem (line 2208) | def test_getitem_and_setitem(self, r): method test_getitem_raises_keyerror_for_missing_key (line 2212) | def test_getitem_raises_keyerror_for_missing_key(self, r): method test_getitem_does_not_raise_keyerror_for_empty_string (line 2216) | def test_getitem_does_not_raise_keyerror_for_empty_string(self, r): method test_get_set_bit (line 2220) | def test_get_set_bit(self, r): method test_getrange (line 2236) | def test_getrange(self, r): method test_getset (line 2242) | def test_getset(self, r): method test_incr (line 2247) | def test_incr(self, r): method test_incrby (line 2255) | def test_incrby(self, r): method test_incrbyfloat (line 2261) | def test_incrbyfloat(self, r): method test_keys (line 2268) | def test_keys(self, r): method test_mget (line 2278) | def test_mget(self, r): method test_lmove (line 2288) | def test_lmove(self, r): method test_blmove (line 2295) | def test_blmove(self, r): method test_mset (line 2301) | def test_mset(self, r): method test_mset_on_cluster (line 2308) | def test_mset_on_cluster(self, r): method test_mset_on_cluster_multiple_slots (line 2317) | def test_mset_on_cluster_multiple_slots(self, r): method test_msetex_no_expiration_with_cluster_client (line 2324) | def test_msetex_no_expiration_with_cluster_client(self, r): method test_msetex_expiration_ex_and_keepttl_with_cluster_client (line 2337) | def test_msetex_expiration_ex_and_keepttl_with_cluster_client(self, r): method test_msetex_expiration_px_with_cluster_client (line 2362) | def test_msetex_expiration_px_with_cluster_client(self, r): method test_msetex_expiration_pxat_and_nx_with_cluster_client (line 2379) | def test_msetex_expiration_pxat_and_nx_with_cluster_client(self, r): method test_msetex_expiration_exat_and_xx_with_cluster_client (line 2434) | def test_msetex_expiration_exat_and_xx_with_cluster_client(self, r): method test_msetex_invalid_inputs_with_cluster_client (line 2479) | def test_msetex_invalid_inputs_with_cluster_client(self, r): method test_msetex_no_expiration (line 2486) | def test_msetex_no_expiration(self, r): method test_msetex_expiration_ex_and_keepttl (line 2499) | def test_msetex_expiration_ex_and_keepttl(self, r): method test_msetex_expiration_px (line 2524) | def test_msetex_expiration_px(self, r): method test_msetex_expiration_pxat_and_nx (line 2541) | def test_msetex_expiration_pxat_and_nx(self, r): method test_msetex_expiration_exat_and_xx (line 2589) | def test_msetex_expiration_exat_and_xx(self, r): method test_msetex_invalid_inputs (line 2633) | def test_msetex_invalid_inputs(self, r): method test_msetnx (line 2639) | def test_msetnx(self, r): method test_pexpire (line 2649) | def test_pexpire(self, r): method test_pexpire_option_nx (line 2658) | def test_pexpire_option_nx(self, r): method test_pexpire_option_xx (line 2664) | def test_pexpire_option_xx(self, r): method test_pexpire_option_gt (line 2671) | def test_pexpire_option_gt(self, r): method test_pexpire_option_lt (line 2678) | def test_pexpire_option_lt(self, r): method test_pexpireat_datetime (line 2685) | def test_pexpireat_datetime(self, r): method test_pexpireat_no_key (line 2692) | def test_pexpireat_no_key(self, r): method test_pexpireat_unixtime (line 2697) | def test_pexpireat_unixtime(self, r): method test_pexpireat_option_nx (line 2705) | def test_pexpireat_option_nx(self, r): method test_pexpireat_option_xx (line 2712) | def test_pexpireat_option_xx(self, r): method test_pexpireat_option_gt (line 2720) | def test_pexpireat_option_gt(self, r): method test_pexpireat_option_lt (line 2730) | def test_pexpireat_option_lt(self, r): method test_pexpiretime (line 2740) | def test_pexpiretime(self, r): method test_psetex (line 2746) | def test_psetex(self, r): method test_psetex_timedelta (line 2752) | def test_psetex_timedelta(self, r): method test_pttl (line 2759) | def test_pttl(self, r): method test_pttl_no_key (line 2768) | def test_pttl_no_key(self, r): method test_hrandfield (line 2773) | def test_hrandfield(self, r): method test_randomkey (line 2786) | def test_randomkey(self, r): method test_rename (line 2793) | def test_rename(self, r): method test_renamenx (line 2800) | def test_renamenx(self, r): method test_set_nx (line 2808) | def test_set_nx(self, r): method test_set_xx (line 2814) | def test_set_xx(self, r): method test_set_px (line 2822) | def test_set_px(self, r): method test_set_px_timedelta (line 2831) | def test_set_px_timedelta(self, r): method test_set_ex (line 2838) | def test_set_ex(self, r): method test_set_ex_str (line 2845) | def test_set_ex_str(self, r): method test_set_ex_timedelta (line 2852) | def test_set_ex_timedelta(self, r): method test_set_exat_timedelta (line 2858) | def test_set_exat_timedelta(self, r): method test_set_pxat_timedelta (line 2864) | def test_set_pxat_timedelta(self, r): method test_set_multipleoptions (line 2870) | def test_set_multipleoptions(self, r): method test_set_keepttl (line 2876) | def test_set_keepttl(self, r): method test_set_ifeq_true_sets_and_returns_true (line 2885) | def test_set_ifeq_true_sets_and_returns_true(self, r): method test_set_ifeq_false_does_not_set_returns_none (line 2892) | def test_set_ifeq_false_does_not_set_returns_none(self, r): method test_set_ifne_true_sets (line 2899) | def test_set_ifne_true_sets(self, r): method test_set_ifne_false_does_not_set (line 2906) | def test_set_ifne_false_does_not_set(self, r): method test_set_ifeq_when_key_missing_does_not_create (line 2913) | def test_set_ifeq_when_key_missing_does_not_create(self, r): method test_set_ifne_when_key_missing_creates (line 2919) | def test_set_ifne_when_key_missing_creates(self, r): method test_set_ifdeq_and_ifdne (line 2926) | def test_set_ifdeq_and_ifdne(self, r, val): method test_set_with_get_returns_previous_value (line 2953) | def test_set_with_get_returns_previous_value(self, r): method test_set_mutual_exclusion_client_side (line 2966) | def test_set_mutual_exclusion_client_side(self, r): method test_set_get (line 2980) | def test_set_get(self, r): method test_setex (line 2987) | def test_setex(self, r): method test_setnx (line 2992) | def test_setnx(self, r): method test_setrange (line 2998) | def test_setrange(self, r): method test_stralgo_lcs (line 3008) | def test_stralgo_lcs(self, r): method test_stralgo_negative (line 3051) | def test_stralgo_negative(self, r): method test_strlen (line 3061) | def test_strlen(self, r): method test_substr (line 3065) | def test_substr(self, r): method generate_lib_code (line 3078) | def generate_lib_code(self, lib_name): method try_delete_libs (line 3081) | def try_delete_libs(self, r, *lib_names): method test_ttl (line 3088) | def test_ttl(self, r): method test_ttl_nokey (line 3096) | def test_ttl_nokey(self, r): method test_type (line 3100) | def test_type(self, r): method test_blpop (line 3116) | def test_blpop(self, r): method test_brpop (line 3136) | def test_brpop(self, r): method test_brpoplpush (line 3156) | def test_brpoplpush(self, r): method test_brpoplpush_empty_string (line 3166) | def test_brpoplpush_empty_string(self, r): method test_blmpop (line 3172) | def test_blmpop(self, r): method test_lmpop (line 3184) | def test_lmpop(self, r): method test_lindex (line 3193) | def test_lindex(self, r): method test_linsert (line 3199) | def test_linsert(self, r): method test_llen (line 3206) | def test_llen(self, r): method test_lpop (line 3210) | def test_lpop(self, r): method test_lpop_count (line 3218) | def test_lpop_count(self, r): method test_lpush (line 3225) | def test_lpush(self, r): method test_lpushx (line 3231) | def test_lpushx(self, r): method test_lpushx_with_list (line 3239) | def test_lpushx_with_list(self, r): method test_lrange (line 3247) | def test_lrange(self, r): method test_lrem (line 3255) | def test_lrem(self, r): method test_lset (line 3267) | def test_lset(self, r): method test_ltrim (line 3273) | def test_ltrim(self, r): method test_rpop (line 3278) | def test_rpop(self, r): method test_rpop_count (line 3286) | def test_rpop_count(self, r): method test_rpoplpush (line 3294) | def test_rpoplpush(self, r): method test_rpush (line 3301) | def test_rpush(self, r): method test_lpos (line 3308) | def test_lpos(self, r): method test_rpushx (line 3339) | def test_rpushx(self, r): method test_lists_with_byte_keys (line 3347) | def test_lists_with_byte_keys(self, r): method test_lists_with_memoryview_keys (line 3385) | def test_lists_with_memoryview_keys(self, r): method test_scan (line 3442) | def test_scan(self, r): method test_scan_type (line 3454) | def test_scan_type(self, r): method test_scan_iter (line 3463) | def test_scan_iter(self, r): method test_sscan (line 3473) | def test_sscan(self, r): method test_sscan_iter (line 3482) | def test_sscan_iter(self, r): method test_hscan (line 3490) | def test_hscan(self, r): method test_hscan_novalues (line 3501) | def test_hscan_novalues(self, r): method test_hscan_iter (line 3512) | def test_hscan_iter(self, r): method test_hscan_iter_novalues (line 3522) | def test_hscan_iter_novalues(self, r): method test_zscan (line 3532) | def test_zscan(self, r): method test_zscan_iter (line 3541) | def test_zscan_iter(self, r): method test_sadd (line 3549) | def test_sadd(self, r): method test_scard (line 3554) | def test_scard(self, r): method test_sdiff (line 3559) | def test_sdiff(self, r): method test_sdiffstore (line 3566) | def test_sdiffstore(self, r): method test_sinter (line 3575) | def test_sinter(self, r): method test_sintercard (line 3583) | def test_sintercard(self, r): method test_sinterstore (line 3591) | def test_sinterstore(self, r): method test_sismember (line 3599) | def test_sismember(self, r): method test_smembers (line 3606) | def test_smembers(self, r): method test_smismember (line 3611) | def test_smismember(self, r): method test_smove (line 3618) | def test_smove(self, r): method test_spop (line 3625) | def test_spop(self, r): method test_spop_multi_value (line 3633) | def test_spop_multi_value(self, r): method test_srandmember (line 3643) | def test_srandmember(self, r): method test_srandmember_multi_value (line 3649) | def test_srandmember_multi_value(self, r): method test_srem (line 3656) | def test_srem(self, r): method test_sunion (line 3663) | def test_sunion(self, r): method test_sunionstore (line 3669) | def test_sunionstore(self, r): method test_debug_segfault (line 3677) | def test_debug_segfault(self, r): method test_script_debug (line 3684) | def test_script_debug(self, r): method test_zadd (line 3689) | def test_zadd(self, r): method test_zadd_nx (line 3711) | def test_zadd_nx(self, r): method test_zadd_xx (line 3721) | def test_zadd_xx(self, r): method test_zadd_ch (line 3731) | def test_zadd_ch(self, r): method test_zadd_incr (line 3741) | def test_zadd_incr(self, r): method test_zadd_incr_with_xx (line 3745) | def test_zadd_incr_with_xx(self, r): method test_zadd_gt_lt (line 3752) | def test_zadd_gt_lt(self, r): method test_zcard (line 3769) | def test_zcard(self, r): method test_zcount (line 3773) | def test_zcount(self, r): method test_zdiff (line 3783) | def test_zdiff(self, r): method test_zdiffstore (line 3796) | def test_zdiffstore(self, r): method test_zincrby (line 3808) | def test_zincrby(self, r): method test_zlexcount (line 3816) | def test_zlexcount(self, r): method test_zinter (line 3823) | def test_zinter(self, r): method test_zintercard (line 3862) | def test_zintercard(self, r): method test_zinterstore_sum (line 3870) | def test_zinterstore_sum(self, r): method test_zinterstore_max (line 3883) | def test_zinterstore_max(self, r): method test_zinterstore_min (line 3896) | def test_zinterstore_min(self, r): method test_zinterstore_with_weight (line 3909) | def test_zinterstore_with_weight(self, r): method test_zpopmax (line 3922) | def test_zpopmax(self, r): method test_zpopmin (line 3934) | def test_zpopmin(self, r): method test_zrandemember (line 3946) | def test_zrandemember(self, r): method test_bzpopmax (line 3964) | def test_bzpopmax(self, r): method test_bzpopmin (line 3987) | def test_bzpopmin(self, r): method test_zmpop (line 4010) | def test_zmpop(self, r): method test_bzmpop (line 4030) | def test_bzmpop(self, r): method test_zrange (line 4049) | def test_zrange(self, r): method test_zrange_errors (line 4078) | def test_zrange_errors(self, r): method test_zrange_params (line 4089) | def test_zrange_params(self, r): method test_zrangestore (line 4128) | def test_zrangestore(self, r): method test_zrangebylex (line 4151) | def test_zrangebylex(self, r): method test_zrevrangebylex (line 4160) | def test_zrevrangebylex(self, r): method test_zrangebyscore (line 4168) | def test_zrangebyscore(self, r): method test_zrank (line 4194) | def test_zrank(self, r): method test_zrank_withscore (line 4201) | def test_zrank_withscore(self, r: redis.Redis): method test_zrem (line 4217) | def test_zrem(self, r): method test_zrem_multiple_keys (line 4224) | def test_zrem_multiple_keys(self, r): method test_zremrangebylex (line 4230) | def test_zremrangebylex(self, r): method test_zremrangebyrank (line 4239) | def test_zremrangebyrank(self, r): method test_zremrangebyscore (line 4244) | def test_zremrangebyscore(self, r): method test_zrevrange (line 4251) | def test_zrevrange(self, r): method test_zrevrangebyscore (line 4280) | def test_zrevrangebyscore(self, r): method test_zrevrank (line 4308) | def test_zrevrank(self, r): method test_zrevrank_withscore (line 4315) | def test_zrevrank_withscore(self, r): method test_zscore (line 4333) | def test_zscore(self, r): method test_zunion (line 4341) | def test_zunion(self, r): method test_zunionstore_sum (line 4383) | def test_zunionstore_sum(self, r): method test_zunionstore_max (line 4396) | def test_zunionstore_max(self, r): method test_zunionstore_min (line 4409) | def test_zunionstore_min(self, r): method test_zunionstore_with_weight (line 4422) | def test_zunionstore_with_weight(self, r): method test_zmscore (line 4435) | def test_zmscore(self, r): method test_pfadd (line 4446) | def test_pfadd(self, r): method test_pfcount (line 4454) | def test_pfcount(self, r): method test_pfmerge (line 4465) | def test_pfmerge(self, r): method test_hget_and_hset (line 4478) | def test_hget_and_hset(self, r): method test_hset_with_multi_key_values (line 4499) | def test_hset_with_multi_key_values(self, r): method test_hset_with_key_values_passed_as_list (line 4510) | def test_hset_with_key_values_passed_as_list(self, r): method test_hset_without_data (line 4521) | def test_hset_without_data(self, r): method test_hdel (line 4525) | def test_hdel(self, r): method test_hexists (line 4532) | def test_hexists(self, r): method test_hgetall (line 4537) | def test_hgetall(self, r): method test_hincrby (line 4542) | def test_hincrby(self, r): method test_hincrbyfloat (line 4548) | def test_hincrbyfloat(self, r): method test_hkeys (line 4553) | def test_hkeys(self, r): method test_hlen (line 4560) | def test_hlen(self, r): method test_hmget (line 4564) | def test_hmget(self, r): method test_hmset (line 4568) | def test_hmset(self, r): method test_hsetnx (line 4574) | def test_hsetnx(self, r): method test_hvals (line 4581) | def test_hvals(self, r): method test_hstrlen (line 4589) | def test_hstrlen(self, r): method test_sort_basic (line 4595) | def test_sort_basic(self, r): method test_sort_limited (line 4599) | def test_sort_limited(self, r): method test_sort_by (line 4604) | def test_sort_by(self, r): method test_sort_get (line 4612) | def test_sort_get(self, r): method test_sort_get_multi (line 4620) | def test_sort_get_multi(self, r): method test_sort_get_groups_two (line 4635) | def test_sort_get_groups_two(self, r): method test_sort_groups_string_get (line 4647) | def test_sort_groups_string_get(self, r): method test_sort_groups_just_one_get (line 4656) | def test_sort_groups_just_one_get(self, r): method test_sort_groups_no_get (line 4664) | def test_sort_groups_no_get(self, r): method test_sort_groups_three_gets (line 4673) | def test_sort_groups_three_gets(self, r): method test_sort_desc (line 4687) | def test_sort_desc(self, r): method test_sort_alpha (line 4691) | def test_sort_alpha(self, r): method test_sort_store (line 4696) | def test_sort_store(self, r): method test_sort_all_options (line 4702) | def test_sort_all_options(self, r): method test_sort_ro (line 4737) | def test_sort_ro(self, r): method test_sort_issue_924 (line 4746) | def test_sort_issue_924(self, r): method test_cluster_addslots (line 4753) | def test_cluster_addslots(self, mock_cluster_resp_ok): method test_cluster_count_failure_reports (line 4758) | def test_cluster_count_failure_reports(self, mock_cluster_resp_int): method test_cluster_countkeysinslot (line 4765) | def test_cluster_countkeysinslot(self, mock_cluster_resp_int): method test_cluster_delslots (line 4770) | def test_cluster_delslots(self, mock_cluster_resp_ok): method test_cluster_failover (line 4775) | def test_cluster_failover(self, mock_cluster_resp_ok): method test_cluster_forget (line 4780) | def test_cluster_forget(self, mock_cluster_resp_ok): method test_cluster_info (line 4785) | def test_cluster_info(self, mock_cluster_resp_info): method test_cluster_keyslot (line 4790) | def test_cluster_keyslot(self, mock_cluster_resp_int): method test_cluster_meet (line 4795) | def test_cluster_meet(self, mock_cluster_resp_ok): method test_cluster_nodes (line 4800) | def test_cluster_nodes(self, mock_cluster_resp_nodes): method test_cluster_replicate (line 4805) | def test_cluster_replicate(self, mock_cluster_resp_ok): method test_cluster_reset (line 4810) | def test_cluster_reset(self, mock_cluster_resp_ok): method test_cluster_saveconfig (line 4815) | def test_cluster_saveconfig(self, mock_cluster_resp_ok): method test_cluster_setslot (line 4820) | def test_cluster_setslot(self, mock_cluster_resp_ok): method test_cluster_slaves (line 4825) | def test_cluster_slaves(self, mock_cluster_resp_slaves): method test_readwrite (line 4832) | def test_readwrite(self, r): method test_readonly_invalid_cluster_state (line 4837) | def test_readonly_invalid_cluster_state(self, r): method test_readonly (line 4844) | def test_readonly(self, mock_cluster_resp_ok): method test_geoadd (line 4849) | def test_geoadd(self, r): method test_geoadd_nx (line 4859) | def test_geoadd_nx(self, r): method test_geoadd_xx (line 4875) | def test_geoadd_xx(self, r): method test_geoadd_ch (line 4887) | def test_geoadd_ch(self, r): method test_geoadd_invalid_params (line 4899) | def test_geoadd_invalid_params(self, r): method test_geodist (line 4904) | def test_geodist(self, r): method test_geodist_units (line 4914) | def test_geodist_units(self, r): method test_geodist_missing_one_member (line 4924) | def test_geodist_missing_one_member(self, r): method test_geodist_invalid_units (line 4930) | def test_geodist_invalid_units(self, r): method test_geohash (line 4935) | def test_geohash(self, r): method test_geopos (line 4951) | def test_geopos(self, r): method test_geopos_no_value (line 4973) | def test_geopos_no_value(self, r): method test_old_geopos_no_value (line 4978) | def test_old_geopos_no_value(self, r): method test_geosearch (line 4982) | def test_geosearch(self, r): method test_geosearch_member (line 5013) | def test_geosearch_member(self, r): method test_geosearch_sort (line 5050) | def test_geosearch_sort(self, r): method test_geosearch_with (line 5066) | def test_geosearch_with(self, r): method test_geosearch_negative (line 5129) | def test_geosearch_negative(self, r): method test_geosearchstore (line 5172) | def test_geosearchstore(self, r): method test_geosearchstore_dist (line 5192) | def test_geosearchstore_dist(self, r): method test_georadius_Issue2609 (line 5212) | def test_georadius_Issue2609(self, r): method test_georadius (line 5218) | def test_georadius(self, r): method test_georadius_no_values (line 5230) | def test_georadius_no_values(self, r): method test_georadius_units (line 5241) | def test_georadius_units(self, r): method test_georadius_with (line 5253) | def test_georadius_with(self, r): method test_georadius_count (line 5308) | def test_georadius_count(self, r): method test_georadius_sort (line 5322) | def test_georadius_sort(self, r): method test_georadius_store (line 5341) | def test_georadius_store(self, r): method test_georadius_store_dist (line 5355) | def test_georadius_store_dist(self, r): method test_georadiusmember (line 5369) | def test_georadiusmember(self, r): method test_georadiusmember_count (line 5401) | def test_georadiusmember_count(self, r): method test_xack (line 5413) | def test_xack(self, r): method test_xadd (line 5434) | def test_xadd(self, r): method test_xadd_nomkstream (line 5448) | def test_xadd_nomkstream(self, r): method test_xadd_minlen_and_limit (line 5458) | def test_xadd_minlen_and_limit(self, r): method test_xadd_explicit_ms (line 5504) | def test_xadd_explicit_ms(self, r: redis.Redis): method test_xautoclaim (line 5511) | def test_xautoclaim(self, r): method test_xautoclaim_negative (line 5544) | def test_xautoclaim_negative(self, r): method test_xclaim (line 5556) | def test_xclaim(self, r): method test_xclaim_trimmed (line 5593) | def test_xclaim_trimmed(self, r): method test_xdel (line 5617) | def test_xdel(self, r): method test_xgroup_create (line 5632) | def test_xgroup_create(self, r): method test_xgroup_create_mkstream (line 5655) | def test_xgroup_create_mkstream(self, r): method test_xgroup_create_entriesread (line 5682) | def test_xgroup_create_entriesread(self, r: redis.Redis): method test_xgroup_create_entriesread_fixed_max_entries_read (line 5704) | def test_xgroup_create_entriesread_fixed_max_entries_read(self, r: red... method test_xgroup_delconsumer (line 5731) | def test_xgroup_delconsumer(self, r): method test_xgroup_createconsumer (line 5749) | def test_xgroup_createconsumer(self, r): method test_xgroup_destroy (line 5765) | def test_xgroup_destroy(self, r): method test_xgroup_setid (line 5778) | def test_xgroup_setid(self, r): method test_xgroup_setid_fixed_max_entries_read (line 5799) | def test_xgroup_setid_fixed_max_entries_read(self, r): method test_xinfo_consumers (line 5821) | def test_xinfo_consumers(self, r): method test_xinfo_stream (line 5848) | def test_xinfo_stream(self, r): method test_xinfo_stream_full (line 5868) | def test_xinfo_stream_full(self, r): method test_xinfo_stream_idempotent_fields (line 5893) | def test_xinfo_stream_idempotent_fields(self, r): method test_xlen (line 5945) | def test_xlen(self, r): method test_xpending (line 5953) | def test_xpending(self, r): method test_xpending_range (line 5982) | def test_xpending_range(self, r): method test_xpending_range_idle (line 6013) | def test_xpending_range_idle(self, r): method test_xpending_range_negative (line 6031) | def test_xpending_range_negative(self, r): method test_xrange (line 6054) | def test_xrange(self, r): method test_xread (line 6077) | def test_xread(self, r): method test_xreadgroup (line 6117) | def test_xreadgroup(self, r): method _validate_xreadgroup_with_claim_min_idle_time_response (line 6190) | def _validate_xreadgroup_with_claim_min_idle_time_response( method test_xreadgroup_with_claim_min_idle_time (line 6226) | def test_xreadgroup_with_claim_min_idle_time(self, r): method test_xreadgroup_with_claim_min_idle_time_multiple_streams_same_slots (line 6310) | def test_xreadgroup_with_claim_min_idle_time_multiple_streams_same_slo... method test_xreadgroup_with_claim_min_idle_time_multiple_streams (line 6409) | def test_xreadgroup_with_claim_min_idle_time_multiple_streams(self, r): method test_xrevrange (line 6507) | def test_xrevrange(self, r): method test_xtrim (line 6530) | def test_xtrim(self, r): method test_xtrim_minlen_and_length_args (line 6549) | def test_xtrim_minlen_and_length_args(self, r): method test_xdelex (line 6590) | def test_xdelex(self, r): method test_xackdel (line 6632) | def test_xackdel(self, r): method test_xtrim_with_options (line 6673) | def test_xtrim_with_options(self, r): method test_xadd_with_options (line 6701) | def test_xadd_with_options(self, r): method test_xadd_idmpauto (line 6729) | def test_xadd_idmpauto(self, r): method test_xadd_idmp (line 6751) | def test_xadd_idmp(self, r): method test_xadd_idmp_validation (line 6776) | def test_xadd_idmp_validation(self, r): method test_xcfgset_idmp_duration (line 6811) | def test_xcfgset_idmp_duration(self, r): method test_xcfgset_idmp_maxsize (line 6827) | def test_xcfgset_idmp_maxsize(self, r): method test_xcfgset_both_parameters (line 6843) | def test_xcfgset_both_parameters(self, r): method test_xcfgset_validation (line 6856) | def test_xcfgset_validation(self, r): method test_bitfield_operations (line 6887) | def test_bitfield_operations(self, r): method test_bitfield_ro (line 6956) | def test_bitfield_ro(self, r: redis.Redis): method test_memory_help (line 6969) | def test_memory_help(self, r): method test_memory_doctor (line 6974) | def test_memory_doctor(self, r): method test_memory_malloc_stats (line 6980) | def test_memory_malloc_stats(self, r): method test_memory_stats (line 6990) | def test_memory_stats(self, r): method test_memory_usage (line 7007) | def test_memory_usage(self, r): method test_latency_histogram_not_implemented (line 7012) | def test_latency_histogram_not_implemented(self, r: redis.Redis): method test_latency_graph_not_implemented (line 7016) | def test_latency_graph_not_implemented(self, r: redis.Redis): method test_latency_doctor_not_implemented (line 7020) | def test_latency_doctor_not_implemented(self, r: redis.Redis): method test_latency_history (line 7024) | def test_latency_history(self, r: redis.Redis): method test_latency_latest (line 7027) | def test_latency_latest(self, r: redis.Redis): method test_latency_reset (line 7030) | def test_latency_reset(self, r: redis.Redis): method test_module_list (line 7036) | def test_module_list(self, r): method test_command_count (line 7043) | def test_command_count(self, r): method test_command_docs (line 7049) | def test_command_docs(self, r): method test_command_list (line 7055) | def test_command_list(self, r: redis.Redis): method test_command_getkeys (line 7066) | def test_command_getkeys(self, r): method test_command (line 7086) | def test_command(self, r): method test_command_getkeysandflags (line 7096) | def test_command_getkeysandflags(self, r: redis.Redis): method test_module (line 7107) | def test_module(self, stack_r): method test_module_loadex (line 7120) | def test_module_loadex(self, stack_r: redis.Redis): method test_restore (line 7132) | def test_restore(self, r): method test_restore_idletime (line 7157) | def test_restore_idletime(self, r): method test_restore_frequency (line 7166) | def test_restore_frequency(self, r): method test_replicaof (line 7177) | def test_replicaof(self, r): method test_shutdown (line 7182) | def test_shutdown(self, r: redis.Redis): method test_shutdown_with_params (line 7188) | def test_shutdown_with_params(self, r: redis.Redis): method test_sync (line 7199) | def test_sync(self, r): method test_psync (line 7209) | def test_psync(self, r): method test_interrupted_command (line 7215) | def test_interrupted_command(self, r: redis.Redis): class TestBinarySave (line 7248) | class TestBinarySave: method test_binary_get_set (line 7249) | def test_binary_get_set(self, r): method test_binary_lists (line 7269) | def test_binary_lists(self, r): method test_22_info (line 7286) | def test_22_info(self, r): method test_large_responses (line 7323) | def test_large_responses(self, r): method test_floating_point_encoding (line 7330) | def test_floating_point_encoding(self, r): FILE: tests/test_connect.py function tcp_address (line 21) | def tcp_address(): function uds_address (line 28) | def uds_address(tmpdir): function test_tcp_connect (line 32) | def test_tcp_connect(tcp_address): function test_uds_connect (line 38) | def test_uds_connect(uds_address): function test_tcp_ssl_connect (line 55) | def test_tcp_ssl_connect(tcp_address, ssl_min_version): function test_tcp_ssl_tls12_custom_ciphers (line 86) | def test_tcp_ssl_tls12_custom_ciphers(tcp_address, ssl_ciphers): function test_unix_socket_with_timeout (line 115) | def test_unix_socket_with_timeout(): function test_tcp_ssl_version_mismatch (line 128) | def test_tcp_ssl_version_mismatch(tcp_address): function _assert_connect (line 149) | def _assert_connect(conn, server_address, **tcp_kw): class _RedisTCPServer (line 168) | class _RedisTCPServer(socketserver.TCPServer): method __init__ (line 169) | def __init__( method service_actions (line 186) | def service_actions(self): method wait_online (line 189) | def wait_online(self): method stop (line 192) | def stop(self): method is_serving (line 196) | def is_serving(self): method get_request (line 199) | def get_request(self): class _RedisUDSServer (line 213) | class _RedisUDSServer(socketserver.UnixStreamServer): method __init__ (line 214) | def __init__(self, *args, **kw) -> None: method service_actions (line 219) | def service_actions(self): method wait_online (line 222) | def wait_online(self): method stop (line 225) | def stop(self): method is_serving (line 229) | def is_serving(self): class _RedisRequestHandler (line 236) | class _RedisRequestHandler(socketserver.StreamRequestHandler): method setup (line 237) | def setup(self): method finish (line 240) | def finish(self): method handle (line 243) | def handle(self): FILE: tests/test_connection.py function test_invalid_response (line 55) | def test_invalid_response(r): function test_loading_external_modules (line 65) | def test_loading_external_modules(r): class TestConnection (line 85) | class TestConnection: method test_disconnect (line 86) | def test_disconnect(self): method test_disconnect__shutdown_OSError (line 95) | def test_disconnect__shutdown_OSError(self): method test_disconnect__close_OSError (line 106) | def test_disconnect__close_OSError(self): method clear (line 117) | def clear(self, conn): method test_retry_connect_on_timeout_error (line 120) | def test_retry_connect_on_timeout_error(self): method test_connect_without_retry_on_non_retryable_error (line 138) | def test_connect_without_retry_on_non_retryable_error(self): method test_connect_with_retries (line 148) | def test_connect_with_retries(self): method test_connect_timeout_error_without_retry (line 163) | def test_connect_timeout_error_without_retry(self): function test_connection_parse_response_resume (line 182) | def test_connection_parse_response_resume(r: redis.Redis, parser_class): function test_pack_command (line 226) | def test_pack_command(Class): function test_create_single_connection_client_from_url (line 254) | def test_create_single_connection_client_from_url(): function test_pool_auto_close (line 262) | def test_pool_auto_close(request, from_url): function test_redis_connection_pool (line 280) | def test_redis_connection_pool(request, from_url): function test_redis_from_pool (line 312) | def test_redis_from_pool(request, from_url): function test_format_error_message (line 370) | def test_format_error_message(conn, error, expected_message): function test_network_connection_failure (line 376) | def test_network_connection_failure(): function test_unix_socket_connection_failure (line 388) | def test_unix_socket_connection_failure(): class TestUnitConnectionPool (line 395) | class TestUnitConnectionPool: method test_throws_error_on_incorrect_max_connections (line 399) | def test_throws_error_on_incorrect_max_connections(self, max_conn): method test_throws_error_on_cache_enable_in_resp2 (line 407) | def test_throws_error_on_cache_enable_in_resp2(self): method test_throws_error_on_incorrect_cache_implementation (line 413) | def test_throws_error_on_incorrect_cache_implementation(self): method test_returns_custom_cache_implementation (line 417) | def test_returns_custom_cache_implementation(self, mock_cache): method test_creates_cache_with_custom_cache_factory (line 423) | def test_creates_cache_with_custom_cache_factory( method test_creates_cache_with_given_configuration (line 439) | def test_creates_cache_with_given_configuration(self, mock_cache): method test_make_connection_proxy_connection_on_given_cache (line 449) | def test_make_connection_proxy_connection_on_given_cache(self): class TestUnitCacheProxyConnection (line 456) | class TestUnitCacheProxyConnection: method test_clears_cache_on_disconnect (line 457) | def test_clears_cache_on_disconnect(self, mock_connection, cache_conf): method test_read_response_returns_cached_reply (line 492) | def test_read_response_returns_cached_reply(self, mock_cache, mock_con... method test_triggers_invalidation_processing_on_another_connection (line 602) | def test_triggers_invalidation_processing_on_another_connection( method test_read_response_propagates_timeout_parameter (line 636) | def test_read_response_propagates_timeout_parameter(self, mock_connect... method test_read_response_timeout_default_is_sentinel (line 660) | def test_read_response_timeout_default_is_sentinel(self, mock_connecti... method test_read_response_timeout_none_passed_through (line 684) | def test_read_response_timeout_none_passed_through(self, mock_connecti... method test_read_response_timeout_zero_passed_through (line 708) | def test_read_response_timeout_zero_passed_through(self, mock_connecti... method test_read_response_all_params_with_timeout (line 732) | def test_read_response_all_params_with_timeout(self, mock_connection): class TestConnectionPoolGetConnectionCount (line 762) | class TestConnectionPoolGetConnectionCount: method test_get_connection_count_returns_idle_and_used_counts (line 765) | def test_get_connection_count_returns_idle_and_used_counts(self): method test_get_connection_count_with_connections_in_use (line 787) | def test_get_connection_count_with_connections_in_use(self): method test_get_connection_count_with_available_connections (line 815) | def test_get_connection_count_with_available_connections(self): method test_get_connection_count_mixed_connections (line 847) | def test_get_connection_count_mixed_connections(self): method test_get_connection_count_includes_pool_name_in_attributes (line 877) | def test_get_connection_count_includes_pool_name_in_attributes(self): class TestBlockingConnectionPoolGetConnectionCount (line 913) | class TestBlockingConnectionPoolGetConnectionCount: method test_get_connection_count_returns_idle_and_used_counts (line 916) | def test_get_connection_count_returns_idle_and_used_counts(self): method test_get_connection_count_with_connections_in_queue (line 935) | def test_get_connection_count_with_connections_in_queue(self): FILE: tests/test_connection_pool.py class DummyConnection (line 32) | class DummyConnection: method __init__ (line 35) | def __init__(self, **kwargs): method connect (line 40) | def connect(self): method disconnect (line 43) | def disconnect(self): method can_read (line 46) | def can_read(self): method should_reconnect (line 49) | def should_reconnect(self): method re_auth (line 52) | def re_auth(self): class TestConnectionPool (line 56) | class TestConnectionPool: method get_pool (line 57) | def get_pool( method test_connection_creation (line 71) | def test_connection_creation(self): method test_closing (line 84) | def test_closing(self): method test_multiple_connections (line 94) | def test_multiple_connections(self, master_host): method test_max_connections (line 101) | def test_max_connections(self, master_host): method test_reuse_previously_released_connection (line 111) | def test_reuse_previously_released_connection(self, master_host): method test_release_not_owned_connection (line 119) | def test_release_not_owned_connection(self, master_host): method test_repr_contains_db_info_tcp (line 134) | def test_repr_contains_db_info_tcp(self): method test_repr_contains_db_info_unix (line 147) | def test_repr_contains_db_info_unix(self): method test_pool_disconnect (line 156) | def test_pool_disconnect(self, master_host): class TestBlockingConnectionPool (line 172) | class TestBlockingConnectionPool: method get_pool (line 173) | def get_pool(self, connection_kwargs=None, max_connections=10, timeout... method test_connection_creation (line 183) | def test_connection_creation(self, master_host): method test_multiple_connections (line 196) | def test_multiple_connections(self, master_host): method test_connection_pool_blocks_until_timeout (line 203) | def test_connection_pool_blocks_until_timeout(self, master_host): method test_connection_pool_blocks_until_conn_available (line 217) | def test_connection_pool_blocks_until_conn_available(self, master_host): method test_reuse_previously_released_connection (line 237) | def test_reuse_previously_released_connection(self, master_host): method test_repr_contains_db_info_tcp (line 245) | def test_repr_contains_db_info_tcp(self): method test_repr_contains_db_info_unix (line 252) | def test_repr_contains_db_info_unix(self): method test_repr_redacts_sensitive_information (line 262) | def test_repr_redacts_sensitive_information(self): method test_initialise_pool_with_cache (line 290) | def test_initialise_pool_with_cache(self, master_host): method test_pool_disconnect (line 300) | def test_pool_disconnect(self, master_host): class TestConnectionPoolURLParsing (line 318) | class TestConnectionPoolURLParsing: method test_hostname (line 319) | def test_hostname(self): method test_quoted_hostname (line 324) | def test_quoted_hostname(self): method test_port (line 329) | def test_port(self): method test_username (line 335) | def test_username(self): method test_quoted_username (line 341) | def test_quoted_username(self): method test_password (line 351) | def test_password(self): method test_quoted_password (line 356) | def test_quoted_password(self): method test_username_and_password (line 367) | def test_username_and_password(self): method test_db_as_argument (line 376) | def test_db_as_argument(self): method test_db_in_path (line 381) | def test_db_in_path(self): method test_db_in_querystring (line 386) | def test_db_in_querystring(self): method test_extra_typed_querystring_options (line 391) | def test_extra_typed_querystring_options(self): method test_boolean_parsing (line 407) | def test_boolean_parsing(self): method test_client_name_in_querystring (line 427) | def test_client_name_in_querystring(self): method test_invalid_extra_typed_querystring_options (line 431) | def test_invalid_extra_typed_querystring_options(self): method test_extra_querystring_options (line 437) | def test_extra_querystring_options(self): method test_calling_from_subclass_returns_correct_instance (line 442) | def test_calling_from_subclass_returns_correct_instance(self): method test_client_creates_connection_pool (line 446) | def test_client_creates_connection_pool(self): method test_invalid_scheme_raises_error (line 451) | def test_invalid_scheme_raises_error(self): method test_invalid_scheme_raises_error_when_double_slash_missing (line 459) | def test_invalid_scheme_raises_error_when_double_slash_missing(self): class TestBlockingConnectionPoolURLParsing (line 468) | class TestBlockingConnectionPoolURLParsing: method test_extra_typed_querystring_options (line 469) | def test_extra_typed_querystring_options(self): method test_invalid_extra_typed_querystring_options (line 486) | def test_invalid_extra_typed_querystring_options(self): class TestConnectionPoolUnixSocketURLParsing (line 493) | class TestConnectionPoolUnixSocketURLParsing: method test_defaults (line 494) | def test_defaults(self): method test_username (line 500) | def test_username(self): method test_quoted_username (line 506) | def test_quoted_username(self): method test_password (line 516) | def test_password(self): method test_quoted_password (line 521) | def test_quoted_password(self): method test_quoted_path (line 531) | def test_quoted_path(self): method test_db_as_argument (line 541) | def test_db_as_argument(self): method test_db_in_querystring (line 546) | def test_db_in_querystring(self): method test_client_name_in_querystring (line 551) | def test_client_name_in_querystring(self): method test_extra_querystring_options (line 555) | def test_extra_querystring_options(self): method test_connection_class_override (line 560) | def test_connection_class_override(self): class TestSSLConnectionURLParsing (line 571) | class TestSSLConnectionURLParsing: method test_host (line 572) | def test_host(self): method test_connection_class_override (line 577) | def test_connection_class_override(self): method test_cert_reqs_options (line 586) | def test_cert_reqs_options(self): method test_ssl_flags_config_parsing (line 606) | def test_ssl_flags_config_parsing(self): method test_ssl_flags_config_invalid_flag (line 650) | def test_ssl_flags_config_invalid_flag(self): class TestConnection (line 666) | class TestConnection: method test_on_connect_error (line 667) | def test_on_connect_error(self): method test_busy_loading_disconnects_socket (line 685) | def test_busy_loading_disconnects_socket(self, r): method test_busy_loading_from_pipeline_immediate_command (line 697) | def test_busy_loading_from_pipeline_immediate_command(self, r): method test_busy_loading_from_pipeline (line 713) | def test_busy_loading_from_pipeline(self, r): method test_read_only_error (line 729) | def test_read_only_error(self, r): method test_oom_error (line 734) | def test_oom_error(self, r): method test_connect_from_url_tcp (line 741) | def test_connect_from_url_tcp(self): method test_connect_from_url_unix (line 753) | def test_connect_from_url_unix(self): method test_connect_no_auth_configured (line 766) | def test_connect_no_auth_configured(self, r): method test_connect_invalid_auth_credentials_supplied (line 788) | def test_connect_invalid_auth_credentials_supplied(self, r): class TestMultiConnectionClient (line 802) | class TestMultiConnectionClient: method r (line 804) | def r(self, request): method test_multi_connection_command (line 807) | def test_multi_connection_command(self, r): class TestHealthCheck (line 814) | class TestHealthCheck: method r (line 818) | def r(self, request): method assert_interval_advanced (line 821) | def assert_interval_advanced(self, connection): method test_health_check_runs (line 825) | def test_health_check_runs(self, r): method test_arbitrary_command_invokes_health_check (line 830) | def test_arbitrary_command_invokes_health_check(self, r): method test_arbitrary_command_advances_next_health_check (line 842) | def test_arbitrary_command_advances_next_health_check(self, r): method test_health_check_not_invoked_within_interval (line 848) | def test_health_check_not_invoked_within_interval(self, r): method test_health_check_in_pipeline (line 857) | def test_health_check_in_pipeline(self, r): method test_health_check_in_transaction (line 868) | def test_health_check_in_transaction(self, r): method test_health_check_in_watched_pipeline (line 879) | def test_health_check_in_watched_pipeline(self, r): method test_health_check_in_pubsub_before_subscribe (line 903) | def test_health_check_in_pubsub_before_subscribe(self, r): method test_health_check_in_pubsub_after_subscribed (line 922) | def test_health_check_in_pubsub_after_subscribed(self, r): method test_health_check_in_pubsub_poll (line 962) | def test_health_check_in_pubsub_poll(self, r): class TestConnectionPoolReleasedEventEmission (line 994) | class TestConnectionPoolReleasedEventEmission: method test_connection_released_event_emitted_on_release (line 997) | def test_connection_released_event_emitted_on_release(self): method test_connection_released_event_not_emitted_for_foreign_connection (line 1019) | def test_connection_released_event_not_emitted_for_foreign_connection(... FILE: tests/test_credentials.py function endpoint (line 37) | def endpoint(request): function r_entra (line 49) | def r_entra(request, endpoint): class NoPassCredProvider (line 66) | class NoPassCredProvider(CredentialProvider): method get_credentials (line 67) | def get_credentials(self) -> Union[Tuple[str], Tuple[str, str]]: class RandomAuthCredProvider (line 71) | class RandomAuthCredProvider(CredentialProvider): method __init__ (line 72) | def __init__(self, user: Optional[str], endpoint: str): method get_credentials (line 77) | def get_credentials(self) -> Union[Tuple[str, str], Tuple[str]]: function init_acl_user (line 91) | def init_acl_user(r, request, username, password): function init_required_pass (line 139) | def init_required_pass(r, request, password): class TestCredentialsProvider (line 152) | class TestCredentialsProvider: method test_only_pass_without_creds_provider (line 154) | def test_only_pass_without_creds_provider(self, r, request): method test_user_and_pass_without_creds_provider (line 165) | def test_user_and_pass_without_creds_provider(self, r, request): method test_credential_provider_with_supplier (line 183) | def test_credential_provider_with_supplier(self, r, request, username): method test_credential_provider_no_password_success (line 202) | def test_credential_provider_no_password_success(self, r, request): method test_credential_provider_no_password_error (line 213) | def test_credential_provider_no_password_error(self, r, request): method test_password_and_username_together_with_cred_provider_raise_error (line 225) | def test_password_and_username_together_with_cred_provider_raise_error( method test_change_username_password_on_existing_connection (line 247) | def test_change_username_password_on_existing_connection(self, r, requ... class TestUsernamePasswordCredentialProvider (line 275) | class TestUsernamePasswordCredentialProvider: method test_user_pass_credential_provider_acl_user_and_pass (line 276) | def test_user_pass_credential_provider_acl_user_and_pass(self, r, requ... method test_user_pass_provider_only_password (line 289) | def test_user_pass_provider_only_password(self, r, request): class TestStreamingCredentialProvider (line 307) | class TestStreamingCredentialProvider: method test_re_auth_all_connections (line 319) | def test_re_auth_all_connections(self, credential_provider): method test_re_auth_partial_connections (line 374) | def test_re_auth_partial_connections(self, credential_provider): method test_re_auth_pub_sub_in_resp3 (line 446) | def test_re_auth_pub_sub_in_resp3(self, credential_provider): method test_do_not_re_auth_pub_sub_in_resp2 (line 513) | def test_do_not_re_auth_pub_sub_in_resp2(self, credential_provider): method test_fails_on_token_renewal (line 579) | def test_fails_on_token_renewal(self, credential_provider): class TestEntraIdCredentialsProvider (line 615) | class TestEntraIdCredentialsProvider: method test_auth_pool_with_credential_provider (line 637) | def test_auth_pool_with_credential_provider(self, r_entra: redis.Redis): method test_auth_pipeline_with_credential_provider (line 657) | def test_auth_pipeline_with_credential_provider(self, r_entra: redis.R... method test_auth_pubsub_with_credential_provider (line 676) | def test_auth_pubsub_with_credential_provider(self, r_entra: redis.Red... class TestClusterEntraIdCredentialsProvider (line 690) | class TestClusterEntraIdCredentialsProvider: method test_auth_pool_with_credential_provider (line 712) | def test_auth_pool_with_credential_provider(self, r_entra: redis.Redis): FILE: tests/test_data_structure.py class TestWeightedList (line 9) | class TestWeightedList: method test_add_items (line 10) | def test_add_items(self): method test_remove_items (line 25) | def test_remove_items(self): method test_get_by_weight_range (line 37) | def test_get_by_weight_range(self): method test_update_weights (line 46) | def test_update_weights(self): method test_thread_safety (line 69) | def test_thread_safety(self) -> None: FILE: tests/test_driver_info.py function test_driver_info_default_name_no_upstream (line 7) | def test_driver_info_default_name_no_upstream(): function test_driver_info_custom_lib_version (line 14) | def test_driver_info_custom_lib_version(): function test_driver_info_single_upstream (line 20) | def test_driver_info_single_upstream(): function test_driver_info_multiple_upstreams_latest_first (line 25) | def test_driver_info_multiple_upstreams_latest_first(): function test_driver_info_invalid_name (line 41) | def test_driver_info_invalid_name(name): function test_driver_info_invalid_version (line 55) | def test_driver_info_invalid_version(version): FILE: tests/test_encoding.py class TestEncoding (line 7) | class TestEncoding: method r (line 9) | def r(self, request): method r_no_decode (line 13) | def r_no_decode(self, request): method test_simple_encoding (line 16) | def test_simple_encoding(self, r_no_decode): method test_simple_encoding_and_decoding (line 23) | def test_simple_encoding_and_decoding(self, r): method test_memoryview_encoding (line 30) | def test_memoryview_encoding(self, r_no_decode): method test_memoryview_encoding_and_decoding (line 39) | def test_memoryview_encoding_and_decoding(self, r): method test_list_encoding (line 47) | def test_list_encoding(self, r): class TestEncodingErrors (line 54) | class TestEncodingErrors: method test_ignore (line 55) | def test_ignore(self, request): method test_replace (line 65) | def test_replace(self, request): class TestCommandsAreNotEncoded (line 76) | class TestCommandsAreNotEncoded: method r (line 78) | def r(self, request): method test_basic_command (line 81) | def test_basic_command(self, r): class TestInvalidUserInput (line 85) | class TestInvalidUserInput: method test_boolean_fails (line 86) | def test_boolean_fails(self, r): method test_none_fails (line 90) | def test_none_fails(self, r): method test_user_type_fails (line 94) | def test_user_type_fails(self, r): FILE: tests/test_event.py class TestEventDispatcher (line 10) | class TestEventDispatcher: method test_register_listeners (line 11) | def test_register_listeners(self): method test_register_listeners_async (line 40) | async def test_register_listeners_async(self): FILE: tests/test_function.py class TestFunction (line 19) | class TestFunction: method reset_functions (line 21) | def reset_functions(self, r): method test_function_load (line 25) | def test_function_load(self, r): method test_function_delete (line 35) | def test_function_delete(self, r): method test_function_flush (line 44) | def test_function_flush(self, r): method test_function_list (line 54) | def test_function_list(self, r): method test_function_list_on_cluster (line 84) | def test_function_list_on_cluster(self, r): method test_fcall (line 119) | def test_fcall(self, r): method test_fcall_ro (line 127) | def test_fcall_ro(self, r): method test_function_dump_restore (line 134) | def test_function_dump_restore(self, r): FILE: tests/test_hash.py function test_hexpire_basic (line 13) | def test_hexpire_basic(r): function test_hexpire_with_timedelta (line 23) | def test_hexpire_with_timedelta(r): function test_hexpire_conditions (line 33) | def test_hexpire_conditions(r): function test_hexpire_nonexistent_key_or_field (line 51) | def test_hexpire_nonexistent_key_or_field(r): function test_hexpire_multiple_fields (line 59) | def test_hexpire_multiple_fields(r): function test_hexpire_multiple_condition_flags_error (line 73) | def test_hexpire_multiple_condition_flags_error(r): function test_hpexpire_basic (line 82) | def test_hpexpire_basic(r): function test_hpexpire_with_timedelta (line 92) | def test_hpexpire_with_timedelta(r): function test_hpexpire_conditions (line 102) | def test_hpexpire_conditions(r): function test_hpexpire_nonexistent_key_or_field (line 120) | def test_hpexpire_nonexistent_key_or_field(r): function test_hpexpire_multiple_fields (line 128) | def test_hpexpire_multiple_fields(r): function test_hpexpire_multiple_condition_flags_error (line 142) | def test_hpexpire_multiple_condition_flags_error(r): function test_hexpireat_basic (line 151) | def test_hexpireat_basic(r): function test_hexpireat_with_datetime (line 162) | def test_hexpireat_with_datetime(r): function test_hexpireat_conditions (line 173) | def test_hexpireat_conditions(r): function test_hexpireat_nonexistent_key_or_field (line 186) | def test_hexpireat_nonexistent_key_or_field(r): function test_hexpireat_multiple_fields (line 195) | def test_hexpireat_multiple_fields(r): function test_hexpireat_multiple_condition_flags_error (line 210) | def test_hexpireat_multiple_condition_flags_error(r): function test_hpexpireat_basic (line 220) | def test_hpexpireat_basic(r): function test_hpexpireat_with_datetime (line 231) | def test_hpexpireat_with_datetime(r): function test_hpexpireat_conditions (line 242) | def test_hpexpireat_conditions(r): function test_hpexpireat_nonexistent_key_or_field (line 259) | def test_hpexpireat_nonexistent_key_or_field(r): function test_hpexpireat_multiple_fields (line 270) | def test_hpexpireat_multiple_fields(r): function test_hpexpireat_multiple_condition_flags_error (line 285) | def test_hpexpireat_multiple_condition_flags_error(r): function test_hpersist_multiple_fields (line 295) | def test_hpersist_multiple_fields(r): function test_hpersist_nonexistent_key (line 303) | def test_hpersist_nonexistent_key(r): function test_hexpiretime_multiple_fields_mixed_conditions (line 309) | def test_hexpiretime_multiple_fields_mixed_conditions(r): function test_hexpiretime_nonexistent_key (line 320) | def test_hexpiretime_nonexistent_key(r): function test_hpexpiretime_multiple_fields_mixed_conditions (line 326) | def test_hpexpiretime_multiple_fields_mixed_conditions(r): function test_hpexpiretime_nonexistent_key (line 337) | def test_hpexpiretime_nonexistent_key(r): function test_httl_multiple_fields_mixed_conditions (line 343) | def test_httl_multiple_fields_mixed_conditions(r): function test_httl_nonexistent_key (line 354) | def test_httl_nonexistent_key(r): function test_hpttl_multiple_fields_mixed_conditions (line 360) | def test_hpttl_multiple_fields_mixed_conditions(r): function test_hpttl_nonexistent_key (line 371) | def test_hpttl_nonexistent_key(r): function test_hgetdel (line 377) | def test_hgetdel(r): function test_hgetex_no_expiration (line 392) | def test_hgetex_no_expiration(r): function test_hgetex_expiration_configs (line 401) | def test_hgetex_expiration_configs(r): function test_hgetex_validate_expired_fields_removed (line 438) | def test_hgetex_validate_expired_fields_removed(r): function test_hgetex_invalid_inputs (line 453) | def test_hgetex_invalid_inputs(r): function test_hsetex_no_expiration (line 468) | def test_hsetex_no_expiration(r): function test_hsetex_expiration_ex_and_keepttl (line 478) | def test_hsetex_expiration_ex_and_keepttl(r): function test_hsetex_expiration_px (line 512) | def test_hsetex_expiration_px(r): function test_hsetex_expiration_pxat_and_fnx (line 527) | def test_hsetex_expiration_pxat_and_fnx(r): function test_hsetex_expiration_exat_and_fxx (line 570) | def test_hsetex_expiration_exat_and_fxx(r): function test_hsetex_invalid_inputs (line 606) | def test_hsetex_invalid_inputs(r): FILE: tests/test_helpers.py function test_list_or_args (line 12) | def test_list_or_args(): function test_parse_to_list (line 21) | def test_parse_to_list(): function test_nativestr (line 27) | def test_nativestr(): function test_delist (line 33) | def test_delist(): function test_random_string (line 38) | def test_random_string(): FILE: tests/test_http/test_http_client.py class FakeResponse (line 15) | class FakeResponse: method __init__ (line 16) | def __init__( method read (line 24) | def read(self) -> bytes: method geturl (line 27) | def geturl(self) -> str: method __enter__ (line 31) | def __enter__(self) -> "FakeResponse": method __exit__ (line 34) | def __exit__(self, exc_type, exc, tb) -> None: class TestHttpClient (line 38) | class TestHttpClient: method test_get_returns_parsed_json_and_uses_timeout (line 39) | def test_get_returns_parsed_json_and_uses_timeout( method test_get_handles_gzip_response (line 83) | def test_get_handles_gzip_response(self, monkeypatch: pytest.MonkeyPat... method test_get_retries_on_retryable_http_errors_and_succeeds (line 114) | def test_get_retries_on_retryable_http_errors_and_succeeds( method test_post_sends_json_body_and_parses_response (line 163) | def test_post_sends_json_body_and_parses_response( method test_post_with_raw_data_and_custom_headers (line 203) | def test_post_with_raw_data_and_custom_headers( method test_delete_returns_http_response_when_expect_json_false (line 237) | def test_delete_returns_http_response_when_expect_json_false( method test_put_raises_http_error_on_non_success (line 267) | def test_put_raises_http_error_on_non_success( method test_patch_with_params_encodes_query (line 297) | def test_patch_with_params_encodes_query( method test_request_low_level_headers_auth_and_timeout_default (line 327) | def test_request_low_level_headers_auth_and_timeout_default( FILE: tests/test_json.py function client (line 11) | def client(request, stack_url): function test_json_setbinarykey (line 18) | def test_json_setbinarykey(client): function test_json_setgetdeleteforget (line 26) | def test_json_setgetdeleteforget(client): function test_jsonget (line 36) | def test_jsonget(client): function test_json_get_jset (line 42) | def test_json_get_jset(client): function test_json_merge (line 52) | def test_json_merge(client): function test_nonascii_setgetdelete (line 84) | def test_nonascii_setgetdelete(client): function test_jsonsetexistentialmodifiersshouldsucceed (line 92) | def test_jsonsetexistentialmodifiersshouldsucceed(client): function test_mgetshouldsucceed (line 110) | def test_mgetshouldsucceed(client): function test_mset (line 121) | def test_mset(client): function test_clear (line 130) | def test_clear(client): function test_type (line 137) | def test_type(client): function test_numincrby (line 146) | def test_numincrby(client): function test_nummultby (line 160) | def test_nummultby(client): function test_toggle (line 177) | def test_toggle(client): function test_strappend (line 188) | def test_strappend(client): function test_strlen (line 195) | def test_strlen(client): function test_arrappend (line 204) | def test_arrappend(client): function test_arrindex (line 212) | def test_arrindex(client): function test_arrinsert (line 224) | def test_arrinsert(client): function test_arrlen (line 236) | def test_arrlen(client): function test_arrpop (line 244) | def test_arrpop(client): function test_arrtrim (line 262) | def test_arrtrim(client): function test_resp (line 285) | def test_resp(client): function test_objkeys (line 295) | def test_objkeys(client): function test_objlen (line 312) | def test_objlen(client): function test_json_commands_in_pipeline (line 322) | def test_json_commands_in_pipeline(client): function test_json_delete_with_dollar (line 346) | def test_json_delete_with_dollar(client): function test_json_forget_with_dollar (line 398) | def test_json_forget_with_dollar(client): function test_json_mget_dollar (line 450) | def test_json_mget_dollar(client): function test_numby_commands_dollar (line 480) | def test_numby_commands_dollar(client): function test_strappend_dollar (line 526) | def test_strappend_dollar(client): function test_strlen_dollar (line 557) | def test_strlen_dollar(client): function test_arrappend_dollar (line 578) | def test_arrappend_dollar(client): function test_arrinsert_dollar (line 653) | def test_arrinsert_dollar(client): function test_arrlen_dollar (line 692) | def test_arrlen_dollar(client): function test_arrpop_dollar (line 741) | def test_arrpop_dollar(client): function test_arrtrim_dollar (line 783) | def test_arrtrim_dollar(client): function test_objkeys_dollar (line 836) | def test_objkeys_dollar(client): function test_objlen_dollar (line 866) | def test_objlen_dollar(client): function load_types_data (line 901) | def load_types_data(nested_key_name): function test_type_dollar (line 921) | def test_type_dollar(client): function test_clear_dollar (line 939) | def test_clear_dollar(client): function test_toggle_dollar (line 990) | def test_toggle_dollar(client): function test_resp_dollar (line 1019) | def test_resp_dollar(client): function test_arrindex_dollar (line 1248) | def test_arrindex_dollar(client): function test_decoders_and_unstring (line 1472) | def test_decoders_and_unstring(): function test_custom_decoder (line 1483) | def test_custom_decoder(client): function test_set_file (line 1499) | def test_set_file(client): function test_set_path (line 1518) | def test_set_path(client): FILE: tests/test_lock.py class TestLock (line 11) | class TestLock: method r_decoded (line 13) | def r_decoded(self, request): method get_lock (line 16) | def get_lock(self, redis, *args, **kwargs): method test_lock (line 20) | def test_lock(self, r): method test_lock_token (line 28) | def test_lock_token(self, r): method test_lock_token_thread_local_false (line 32) | def test_lock_token_thread_local_false(self, r): method _test_lock_token (line 36) | def _test_lock_token(self, r, lock): method test_locked (line 45) | def test_locked(self, r): method _test_owned (line 53) | def _test_owned(self, client): method test_owned (line 71) | def test_owned(self, r): method test_owned_with_decoded_responses (line 74) | def test_owned_with_decoded_responses(self, r_decoded): method test_competing_locks (line 77) | def test_competing_locks(self, r): method test_timeout (line 87) | def test_timeout(self, r): method test_float_timeout (line 93) | def test_float_timeout(self, r): method test_blocking_timeout (line 99) | def test_blocking_timeout(self, r): method test_context_manager (line 112) | def test_context_manager(self, r): method test_context_manager_blocking_timeout (line 119) | def test_context_manager_blocking_timeout(self, r): method test_context_manager_raises_when_locked_not_acquired (line 130) | def test_context_manager_raises_when_locked_not_acquired(self, r): method test_context_manager_not_raise_on_release_lock_not_owned_error (line 136) | def test_context_manager_not_raise_on_release_lock_not_owned_error(sel... method test_context_manager_not_raise_on_release_lock_error (line 147) | def test_context_manager_not_raise_on_release_lock_error(self, r): method test_high_sleep_small_blocking_timeout (line 162) | def test_high_sleep_small_blocking_timeout(self, r): method test_releasing_unlocked_lock_raises_error (line 175) | def test_releasing_unlocked_lock_raises_error(self, r): method test_releasing_lock_no_longer_owned_raises_error (line 180) | def test_releasing_lock_no_longer_owned_raises_error(self, r): method test_extend_lock (line 190) | def test_extend_lock(self, r): method test_extend_lock_replace_ttl (line 198) | def test_extend_lock_replace_ttl(self, r): method test_extend_lock_float (line 206) | def test_extend_lock_float(self, r): method test_extending_unlocked_lock_raises_error (line 215) | def test_extending_unlocked_lock_raises_error(self, r): method test_extending_lock_with_no_timeout_raises_error (line 220) | def test_extending_lock_with_no_timeout_raises_error(self, r): method test_extending_lock_no_longer_owned_raises_error (line 227) | def test_extending_lock_no_longer_owned_raises_error(self, r): method test_reacquire_lock (line 234) | def test_reacquire_lock(self, r): method test_reacquiring_unlocked_lock_raises_error (line 243) | def test_reacquiring_unlocked_lock_raises_error(self, r): method test_reacquiring_lock_with_no_timeout_raises_error (line 248) | def test_reacquiring_lock_with_no_timeout_raises_error(self, r): method test_reacquiring_lock_no_longer_owned_raises_error (line 255) | def test_reacquiring_lock_no_longer_owned_raises_error(self, r): method test_context_manager_reacquiring_lock_with_no_timeout_raises_error (line 262) | def test_context_manager_reacquiring_lock_with_no_timeout_raises_error... method test_context_manager_reacquiring_lock_no_longer_owned_raises_error (line 267) | def test_context_manager_reacquiring_lock_no_longer_owned_raises_error... method test_lock_error_gives_correct_lock_name (line 272) | def test_lock_error_gives_correct_lock_name(self, r): class TestLockClassSelection (line 280) | class TestLockClassSelection: method test_lock_class_argument (line 281) | def test_lock_class_argument(self, r): FILE: tests/test_max_connections_error.py class DummyConnection (line 7) | class DummyConnection(ConnectionInterface): method __init__ (line 10) | def __init__(self, *args, **kwargs): method connect (line 13) | def connect(self): method disconnect (line 16) | def disconnect(self): method register_connect_callback (line 19) | def register_connect_callback(self, callback): method deregister_connect_callback (line 22) | def deregister_connect_callback(self, callback): method set_parser (line 25) | def set_parser(self, parser_class): method get_protocol (line 28) | def get_protocol(self): method on_connect (line 31) | def on_connect(self): method check_health (line 34) | def check_health(self): method send_packed_command (line 37) | def send_packed_command(self, command, check_health=True): method send_command (line 40) | def send_command(self, *args, **kwargs): method can_read (line 43) | def can_read(self, timeout=0): method read_response (line 46) | def read_response(self, disable_decoding=False, **kwargs): function test_max_connections_error_inheritance (line 51) | def test_max_connections_error_inheritance(): function test_connection_pool_raises_max_connections_error (line 57) | def test_connection_pool_raises_max_connections_error(): function test_cluster_handles_max_connections_error (line 70) | def test_cluster_handles_max_connections_error(): FILE: tests/test_monitor.py class TestMonitor (line 11) | class TestMonitor: method test_wait_command_not_found (line 12) | def test_wait_command_not_found(self, r): method test_response_values (line 18) | def test_response_values(self, r): method test_command_with_quoted_key (line 30) | def test_command_with_quoted_key(self, r): method test_command_with_binary_data (line 36) | def test_command_with_binary_data(self, r): method test_command_with_escaped_data (line 43) | def test_command_with_escaped_data(self, r): method test_lua_script (line 51) | def test_lua_script(self, r): method test_lua_script_in_enterprise (line 62) | def test_lua_script_in_enterprise(self, r): FILE: tests/test_multidb/conftest.py function mock_health_check_connections (line 28) | def mock_health_check_connections(): function mock_client (line 45) | def mock_client() -> Redis: function mock_cb (line 50) | def mock_cb() -> CircuitBreaker: function mock_fd (line 55) | def mock_fd() -> FailureDetector: function mock_fs (line 60) | def mock_fs() -> FailoverStrategy: function mock_hc (line 65) | def mock_hc() -> HealthCheck: function _create_mock_db (line 78) | def _create_mock_db(request) -> Database: function mock_db (line 95) | def mock_db(request) -> Database: function mock_db1 (line 100) | def mock_db1(request) -> Database: function mock_db2 (line 105) | def mock_db2(request) -> Database: function mock_multi_db_config (line 110) | def mock_multi_db_config(request, mock_fd, mock_fs, mock_hc, mock_ed) ->... function create_weighted_list (line 141) | def create_weighted_list(*databases) -> Databases: FILE: tests/test_multidb/test_circuit.py class TestPBCircuitBreaker (line 12) | class TestPBCircuitBreaker: method test_cb_correctly_configured (line 20) | def test_cb_correctly_configured(self, mock_db): method test_cb_executes_callback_on_state_changed (line 42) | def test_cb_executes_callback_on_state_changed(self): FILE: tests/test_multidb/test_client.py class TestMultiDbClient (line 28) | class TestMultiDbClient: method test_execute_command_against_correct_db_on_successful_initialization (line 41) | def test_execute_command_against_correct_db_on_successful_initialization( method test_execute_command_against_correct_db_and_closed_circuit (line 79) | def test_execute_command_against_correct_db_and_closed_circuit( method test_execute_command_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 137) | def test_execute_command_against_correct_db_on_background_health_check... method test_execute_command_auto_fallback_to_highest_weight_db (line 286) | def test_execute_command_auto_fallback_to_highest_weight_db( method test_execute_command_do_not_auto_fallback_to_highest_weight_db (line 377) | def test_execute_command_do_not_auto_fallback_to_highest_weight_db( method test_add_database_makes_new_database_active (line 454) | def test_add_database_makes_new_database_active( method test_add_database_skip_unhealthy_false_raises_exception (line 517) | def test_add_database_skip_unhealthy_false_raises_exception( method test_remove_highest_weighted_database (line 581) | def test_remove_highest_weighted_database( method test_update_database_weight_to_be_highest (line 621) | def test_update_database_weight_to_be_highest( method test_add_new_failure_detector (line 662) | def test_add_new_failure_detector( method test_add_new_health_check (line 720) | def test_add_new_health_check( method test_set_active_database (line 768) | def test_set_active_database( method test_custom_health_check_parameters_are_respected (line 819) | def test_custom_health_check_parameters_are_respected( method test_custom_health_check_timeout_triggers_unhealthy (line 901) | def test_custom_health_check_timeout_triggers_unhealthy( class TestGeoFailoverMetricRecording (line 947) | class TestGeoFailoverMetricRecording: method test_manual_failover_records_metric (line 962) | def test_manual_failover_records_metric( method test_automatic_failover_records_metric (line 1011) | def test_automatic_failover_records_metric( method test_no_metric_recorded_when_same_database (line 1067) | def test_no_metric_recorded_when_same_database( class TestInitialHealthCheckPolicy (line 1099) | class TestInitialHealthCheckPolicy: method test_all_healthy_policy_succeeds_when_all_databases_healthy (line 1114) | def test_all_healthy_policy_succeeds_when_all_databases_healthy( method test_all_healthy_policy_fails_when_one_database_unhealthy (line 1147) | def test_all_healthy_policy_fails_when_one_database_unhealthy( method test_majority_healthy_policy_succeeds_when_majority_healthy (line 1187) | def test_majority_healthy_policy_succeeds_when_majority_healthy( method test_majority_healthy_policy_fails_when_minority_healthy (line 1226) | def test_majority_healthy_policy_fails_when_minority_healthy( method test_any_healthy_policy_succeeds_when_one_database_healthy (line 1267) | def test_any_healthy_policy_succeeds_when_one_database_healthy( method test_any_healthy_policy_fails_when_no_database_healthy (line 1305) | def test_any_healthy_policy_fails_when_no_database_healthy( FILE: tests/test_multidb/test_command_executor.py class TestDefaultCommandExecutor (line 17) | class TestDefaultCommandExecutor: method test_execute_command_on_active_database (line 29) | def test_execute_command_on_active_database( method test_execute_command_automatically_select_active_database (line 63) | def test_execute_command_automatically_select_active_database( method test_execute_command_fallback_to_another_db_after_fallback_interval (line 98) | def test_execute_command_fallback_to_another_db_after_fallback_interval( method test_execute_command_fallback_to_another_db_after_failure_detection (line 139) | def test_execute_command_fallback_to_another_db_after_failure_detection( FILE: tests/test_multidb/test_config.py class TestMultiDbConfig (line 26) | class TestMultiDbConfig: method test_default_config (line 27) | def test_default_config(self): method test_overridden_config (line 65) | def test_overridden_config(self): method test_underlying_clients_have_disabled_retry_and_maint_notifications (line 138) | def test_underlying_clients_have_disabled_retry_and_maint_notification... method test_user_provided_maint_notifications_config_is_respected (line 170) | def test_user_provided_maint_notifications_config_is_respected(self): class TestDatabaseConfig (line 200) | class TestDatabaseConfig: method test_default_config (line 201) | def test_default_config(self): method test_overridden_config (line 210) | def test_overridden_config(self): FILE: tests/test_multidb/test_failover.py class TestWeightBasedFailoverStrategy (line 18) | class TestWeightBasedFailoverStrategy: method test_get_valid_database (line 36) | def test_get_valid_database(self, mock_db, mock_db1, mock_db2): method test_throws_exception_on_empty_databases (line 58) | def test_throws_exception_on_empty_databases(self, mock_db, mock_db1, ... class TestDefaultStrategyExecutor (line 69) | class TestDefaultStrategyExecutor: method test_execute_returns_valid_database_with_failover_attempts (line 77) | def test_execute_returns_valid_database_with_failover_attempts( method test_execute_throws_exception_on_attempts_exceed (line 105) | def test_execute_throws_exception_on_attempts_exceed(self, mock_fs): method test_execute_throws_exception_on_attempts_does_not_exceed_delay (line 131) | def test_execute_throws_exception_on_attempts_does_not_exceed_delay(se... FILE: tests/test_multidb/test_failure_detector.py class TestCommandFailureDetector (line 14) | class TestCommandFailureDetector: method test_failure_detector_correctly_reacts_to_failures (line 32) | def test_failure_detector_correctly_reacts_to_failures( method test_failure_detector_do_not_open_circuit_on_interval_exceed (line 64) | def test_failure_detector_do_not_open_circuit_on_interval_exceed( method test_failure_detector_open_circuit_on_specific_exception_threshold_exceed (line 96) | def test_failure_detector_open_circuit_on_specific_exception_threshold... FILE: tests/test_multidb/test_pipeline.py function mock_pipe (line 18) | def mock_pipe() -> Pipeline: class TestPipeline (line 26) | class TestPipeline: method test_executes_pipeline_against_correct_db (line 39) | def test_executes_pipeline_against_correct_db( method test_execute_pipeline_against_correct_db_and_closed_circuit (line 84) | def test_execute_pipeline_against_correct_db_and_closed_circuit( method test_execute_pipeline_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 137) | def test_execute_pipeline_against_correct_db_on_background_health_chec... class TestTransaction (line 290) | class TestTransaction: method test_executes_transaction_against_correct_db (line 303) | def test_executes_transaction_against_correct_db( method test_execute_transaction_against_correct_db_and_closed_circuit (line 346) | def test_execute_transaction_against_correct_db_and_closed_circuit( method test_execute_transaction_against_correct_db_on_background_health_check_determine_active_db_unhealthy (line 399) | def test_execute_transaction_against_correct_db_on_background_health_c... FILE: tests/test_multiprocessing.py function exit_callback (line 14) | def exit_callback(callback, *args): class TestMultiprocessing (line 28) | class TestMultiprocessing: method r (line 45) | def r(self, request): method test_close_connection_in_child (line 48) | def test_close_connection_in_child(self, master_host): method test_close_connection_in_parent (line 74) | def test_close_connection_in_parent(self, master_host): method test_release_parent_connection_from_pool_in_child_process (line 102) | def test_release_parent_connection_from_pool_in_child_process( method test_pool (line 136) | def test_pool(self, max_connections, master_host): method test_close_pool_in_main (line 173) | def test_close_pool_in_main(self, max_connections, master_host): method test_redis_client (line 206) | def test_redis_client(self, r): FILE: tests/test_observability/test_cluster_metrics_error_handling.py class TestClusterMetricsRecordingDuringErrorHandling (line 24) | class TestClusterMetricsRecordingDuringErrorHandling: method test_authentication_error_uses_target_node_for_metrics (line 33) | def test_authentication_error_uses_target_node_for_metrics(self): method test_connection_error_uses_connection_when_available (line 81) | def test_connection_error_uses_connection_when_available(self): method test_connection_error_uses_target_node_when_no_connection (line 137) | def test_connection_error_uses_target_node_when_no_connection(self): method test_response_error_uses_connection (line 187) | def test_response_error_uses_connection(self): method test_max_connections_error_records_metrics_with_cluster_node (line 238) | def test_max_connections_error_records_metrics_with_cluster_node(self): method test_successful_command_records_metrics_with_connection_db (line 283) | def test_successful_command_records_metrics_with_connection_db(self): method test_timeout_error_uses_target_node_for_metrics (line 325) | def test_timeout_error_uses_target_node_for_metrics(self): method test_cluster_down_error_with_cluster_node_metrics (line 368) | def test_cluster_down_error_with_cluster_node_metrics(self): method test_slot_not_covered_error_with_cluster_node_metrics (line 410) | def test_slot_not_covered_error_with_cluster_node_metrics(self): FILE: tests/test_observability/test_config.py class TestOTelConfigDefaults (line 15) | class TestOTelConfigDefaults: method test_default_enabled_telemetry (line 18) | def test_default_enabled_telemetry(self): method test_default_metric_groups (line 23) | def test_default_metric_groups(self): method test_default_include_commands_is_none (line 29) | def test_default_include_commands_is_none(self): method test_default_exclude_commands_is_empty_set (line 34) | def test_default_exclude_commands_is_empty_set(self): method test_is_enabled_returns_true_by_default (line 39) | def test_is_enabled_returns_true_by_default(self): class TestOTelConfigEnabledTelemetry (line 45) | class TestOTelConfigEnabledTelemetry: method test_single_telemetry_option (line 48) | def test_single_telemetry_option(self): method test_empty_telemetry_list_disables_all (line 53) | def test_empty_telemetry_list_disables_all(self): class TestOTelConfigMetricGroups (line 60) | class TestOTelConfigMetricGroups: method test_single_metric_group (line 63) | def test_single_metric_group(self): method test_multiple_metric_groups (line 68) | def test_multiple_metric_groups(self): method test_all_metric_groups (line 74) | def test_all_metric_groups(self): method test_empty_metric_groups_list (line 95) | def test_empty_metric_groups_list(self): class TestOTelConfigIncludeCommands (line 101) | class TestOTelConfigIncludeCommands: method test_include_commands_single (line 104) | def test_include_commands_single(self): method test_include_commands_multiple (line 109) | def test_include_commands_multiple(self): method test_include_commands_empty_list (line 114) | def test_include_commands_empty_list(self): class TestOTelConfigExcludeCommands (line 120) | class TestOTelConfigExcludeCommands: method test_exclude_commands_single (line 123) | def test_exclude_commands_single(self): method test_exclude_commands_multiple (line 128) | def test_exclude_commands_multiple(self): method test_exclude_commands_empty_list (line 133) | def test_exclude_commands_empty_list(self): class TestOTelConfigShouldTrackCommand (line 139) | class TestOTelConfigShouldTrackCommand: method test_should_track_command_default_tracks_all (line 142) | def test_should_track_command_default_tracks_all(self): method test_should_track_command_case_insensitive (line 149) | def test_should_track_command_case_insensitive(self): method test_should_track_command_with_include_list (line 156) | def test_should_track_command_with_include_list(self): method test_should_track_command_with_exclude_list (line 164) | def test_should_track_command_with_exclude_list(self): method test_should_track_command_include_takes_precedence (line 172) | def test_should_track_command_include_takes_precedence(self): method test_should_track_command_empty_include_tracks_all (line 183) | def test_should_track_command_empty_include_tracks_all(self): class TestOTelConfigRepr (line 190) | class TestOTelConfigRepr: method test_repr_contains_enabled_telemetry (line 193) | def test_repr_contains_enabled_telemetry(self): class TestOTelConfigPrivacyControls (line 200) | class TestOTelConfigPrivacyControls: method test_default_hide_pubsub_channel_names_is_false (line 203) | def test_default_hide_pubsub_channel_names_is_false(self): method test_default_hide_stream_names_is_false (line 208) | def test_default_hide_stream_names_is_false(self): method test_hide_pubsub_channel_names_can_be_enabled (line 213) | def test_hide_pubsub_channel_names_can_be_enabled(self): method test_hide_stream_names_can_be_enabled (line 218) | def test_hide_stream_names_can_be_enabled(self): method test_both_privacy_controls_can_be_enabled (line 223) | def test_both_privacy_controls_can_be_enabled(self): class TestOTelConfigHistogramBuckets (line 233) | class TestOTelConfigHistogramBuckets: method test_default_operation_duration_buckets (line 236) | def test_default_operation_duration_buckets(self): method test_default_stream_processing_duration_buckets (line 243) | def test_default_stream_processing_duration_buckets(self): method test_default_connection_create_time_buckets (line 250) | def test_default_connection_create_time_buckets(self): method test_default_connection_wait_time_buckets (line 257) | def test_default_connection_wait_time_buckets(self): method test_custom_operation_duration_buckets (line 264) | def test_custom_operation_duration_buckets(self): method test_custom_stream_processing_duration_buckets (line 270) | def test_custom_stream_processing_duration_buckets(self): method test_custom_connection_create_time_buckets (line 276) | def test_custom_connection_create_time_buckets(self): method test_custom_connection_wait_time_buckets (line 282) | def test_custom_connection_wait_time_buckets(self): method test_all_custom_buckets_can_be_set_together (line 288) | def test_all_custom_buckets_can_be_set_together(self): method test_empty_buckets_list_is_allowed (line 307) | def test_empty_buckets_list_is_allowed(self): method test_single_bucket_boundary_is_allowed (line 312) | def test_single_bucket_boundary_is_allowed(self): class TestDefaultBucketFunctions (line 318) | class TestDefaultBucketFunctions: method test_default_operation_duration_buckets_returns_sequence (line 321) | def test_default_operation_duration_buckets_returns_sequence(self): method test_default_histogram_buckets_returns_sequence (line 329) | def test_default_histogram_buckets_returns_sequence(self): method test_default_operation_duration_buckets_are_sorted (line 337) | def test_default_operation_duration_buckets_are_sorted(self): method test_default_histogram_buckets_are_sorted (line 344) | def test_default_histogram_buckets_are_sorted(self): method test_default_operation_duration_buckets_are_positive (line 351) | def test_default_operation_duration_buckets_are_positive(self): method test_default_histogram_buckets_are_positive (line 358) | def test_default_histogram_buckets_are_positive(self): class TestMetricGroupEnum (line 366) | class TestMetricGroupEnum: method test_metric_group_values_are_unique (line 369) | def test_metric_group_values_are_unique(self): method test_metric_group_can_be_combined (line 384) | def test_metric_group_can_be_combined(self): method test_metric_group_membership_check (line 391) | def test_metric_group_membership_check(self): FILE: tests/test_observability/test_metrics_connection_attributes.py class MockConnectionWithoutHostPort (line 20) | class MockConnectionWithoutHostPort(ConnectionInterface): method __init__ (line 27) | def __init__(self, db=0, **kwargs): method repr_pieces (line 37) | def repr_pieces(self): method register_connect_callback (line 40) | def register_connect_callback(self, callback): method deregister_connect_callback (line 43) | def deregister_connect_callback(self, callback): method set_parser (line 46) | def set_parser(self, parser_class): method get_protocol (line 49) | def get_protocol(self): method connect (line 52) | def connect(self): method on_connect (line 55) | def on_connect(self): method disconnect (line 58) | def disconnect(self, *args, **kwargs): method check_health (line 61) | def check_health(self): method send_packed_command (line 64) | def send_packed_command(self, command, check_health=True): method send_command (line 67) | def send_command(self, *args, **kwargs): method can_read (line 70) | def can_read(self, timeout=0): method read_response (line 73) | def read_response( method pack_command (line 78) | def pack_command(self, *args): method pack_commands (line 81) | def pack_commands(self, commands): method handshake_metadata (line 85) | def handshake_metadata(self): method set_re_auth_token (line 88) | def set_re_auth_token(self, token): method re_auth (line 91) | def re_auth(self): method mark_for_reconnect (line 94) | def mark_for_reconnect(self): method should_reconnect (line 97) | def should_reconnect(self): method reset_should_reconnect (line 100) | def reset_should_reconnect(self): class TestConnectionAttributesWithoutHostPort (line 104) | class TestConnectionAttributesWithoutHostPort: method mock_meter (line 108) | def mock_meter(self): method setup_client_and_pool (line 113) | def setup_client_and_pool(self, mock_meter): method test_client_execute_command_with_connection_without_host_port (line 135) | def test_client_execute_command_with_connection_without_host_port( method test_pubsub_execute_command_with_connection_without_host_port (line 154) | def test_pubsub_execute_command_with_connection_without_host_port( method test_pipeline_execute_with_connection_without_host_port (line 177) | def test_pipeline_execute_with_connection_without_host_port( FILE: tests/test_observability/test_provider.py class TestOTelProviderManagerInit (line 23) | class TestOTelProviderManagerInit: method test_init_with_config (line 26) | def test_init_with_config(self): method test_init_with_custom_config (line 34) | def test_init_with_custom_config(self): class TestOTelProviderManagerGetMeterProvider (line 45) | class TestOTelProviderManagerGetMeterProvider: method test_get_meter_provider_returns_none_when_disabled (line 48) | def test_get_meter_provider_returns_none_when_disabled(self): method test_get_meter_provider_raises_when_no_global_provider (line 57) | def test_get_meter_provider_raises_when_no_global_provider(self): method test_get_meter_provider_returns_global_provider (line 72) | def test_get_meter_provider_returns_global_provider(self): method test_get_meter_provider_caches_provider (line 87) | def test_get_meter_provider_caches_provider(self): class TestOTelProviderManagerShutdown (line 106) | class TestOTelProviderManagerShutdown: method test_shutdown_calls_force_flush (line 109) | def test_shutdown_calls_force_flush(self): method test_shutdown_with_default_timeout (line 120) | def test_shutdown_with_default_timeout(self): class TestOTelProviderManagerForceFlush (line 131) | class TestOTelProviderManagerForceFlush: method test_force_flush_returns_true_when_no_provider (line 134) | def test_force_flush_returns_true_when_no_provider(self): method test_force_flush_calls_provider_force_flush (line 143) | def test_force_flush_calls_provider_force_flush(self): method test_force_flush_returns_false_on_exception (line 156) | def test_force_flush_returns_false_on_exception(self): class TestOTelProviderManagerContextManager (line 170) | class TestOTelProviderManagerContextManager: method test_context_manager_enter_returns_self (line 173) | def test_context_manager_enter_returns_self(self): method test_context_manager_exit_calls_shutdown (line 182) | def test_context_manager_exit_calls_shutdown(self): method test_context_manager_with_statement (line 192) | def test_context_manager_with_statement(self): class TestOTelProviderManagerRepr (line 203) | class TestOTelProviderManagerRepr: method test_repr_contains_config (line 206) | def test_repr_contains_config(self): class TestObservabilityInstanceInit (line 217) | class TestObservabilityInstanceInit: method test_init_creates_empty_instance (line 220) | def test_init_creates_empty_instance(self): method test_init_method_creates_provider_manager (line 226) | def test_init_method_creates_provider_manager(self): method test_init_method_replaces_existing_manager (line 237) | def test_init_method_replaces_existing_manager(self): class TestObservabilityInstanceIsEnabled (line 253) | class TestObservabilityInstanceIsEnabled: method test_is_enabled_returns_false_when_not_initialized (line 256) | def test_is_enabled_returns_false_when_not_initialized(self): method test_is_enabled_returns_true_when_initialized_and_enabled (line 262) | def test_is_enabled_returns_true_when_initialized_and_enabled(self): method test_is_enabled_returns_false_when_telemetry_disabled (line 271) | def test_is_enabled_returns_false_when_telemetry_disabled(self): class TestObservabilityInstanceGetProviderManager (line 281) | class TestObservabilityInstanceGetProviderManager: method test_get_provider_manager_returns_none_when_not_initialized (line 284) | def test_get_provider_manager_returns_none_when_not_initialized(self): method test_get_provider_manager_returns_manager_when_initialized (line 290) | def test_get_provider_manager_returns_manager_when_initialized(self): class TestObservabilityInstanceShutdown (line 302) | class TestObservabilityInstanceShutdown: method test_shutdown_returns_true_when_not_initialized (line 305) | def test_shutdown_returns_true_when_not_initialized(self): method test_shutdown_calls_provider_manager_shutdown (line 313) | def test_shutdown_calls_provider_manager_shutdown(self): method test_shutdown_clears_provider_manager (line 328) | def test_shutdown_clears_provider_manager(self): class TestObservabilityInstanceForceFlush (line 340) | class TestObservabilityInstanceForceFlush: method test_force_flush_returns_true_when_not_initialized (line 343) | def test_force_flush_returns_true_when_not_initialized(self): method test_force_flush_calls_provider_manager_force_flush (line 351) | def test_force_flush_calls_provider_manager_force_flush(self): class TestGetObservabilityInstance (line 366) | class TestGetObservabilityInstance: method test_get_observability_instance_returns_singleton (line 369) | def test_get_observability_instance_returns_singleton(self): method test_get_observability_instance_creates_new_if_none (line 387) | def test_get_observability_instance_creates_new_if_none(self): method test_get_observability_instance_returns_existing (line 403) | def test_get_observability_instance_returns_existing(self): class TestObservabilityInstanceIntegration (line 420) | class TestObservabilityInstanceIntegration: method test_full_lifecycle (line 423) | def test_full_lifecycle(self): method test_reinitialize_after_shutdown (line 450) | def test_reinitialize_after_shutdown(self): FILE: tests/test_observability/test_public_api.py class TestPublicAPIExports (line 9) | class TestPublicAPIExports: method test_otel_config_reexport (line 12) | def test_otel_config_reexport(self): method test_metric_group_reexport (line 19) | def test_metric_group_reexport(self): method test_telemetry_option_reexport (line 26) | def test_telemetry_option_reexport(self): method test_observability_instance_reexport (line 35) | def test_observability_instance_reexport(self): method test_get_observability_instance_reexport (line 44) | def test_get_observability_instance_reexport(self): method test_reset_observability_instance_reexport (line 53) | def test_reset_observability_instance_reexport(self): method test_all_exports_defined (line 62) | def test_all_exports_defined(self): method test_all_exports_are_accessible (line 77) | def test_all_exports_are_accessible(self): FILE: tests/test_observability/test_recorder.py class MockInstruments (line 70) | class MockInstruments: method __init__ (line 73) | def __init__(self): function mock_instruments (line 98) | def mock_instruments(): function mock_meter (line 104) | def mock_meter(mock_instruments): function mock_config (line 152) | def mock_config(): function metrics_collector (line 168) | def metrics_collector(mock_meter, mock_config): function setup_recorder (line 178) | def setup_recorder(metrics_collector, mock_instruments): class TestRecordOperationDuration (line 197) | class TestRecordOperationDuration: method test_record_operation_duration_success (line 200) | def test_record_operation_duration_success(self, setup_recorder): method test_record_operation_duration_with_error (line 228) | def test_record_operation_duration_with_error(self, setup_recorder): method test_record_operation_duration_with_bytes_command_name (line 250) | def test_record_operation_duration_with_bytes_command_name(self, setup... class TestRecordConnectionCreateTime (line 274) | class TestRecordConnectionCreateTime: method test_record_connection_create_time (line 277) | def test_record_connection_create_time(self, setup_recorder): class TestRecordConnectionTimeout (line 305) | class TestRecordConnectionTimeout: method test_record_connection_timeout (line 308) | def test_record_connection_timeout(self, setup_recorder): class TestRecordConnectionWaitTime (line 327) | class TestRecordConnectionWaitTime: method test_record_connection_wait_time (line 330) | def test_record_connection_wait_time(self, setup_recorder): class TestRecordConnectionClosed (line 348) | class TestRecordConnectionClosed: method test_record_connection_closed_with_reason (line 351) | def test_record_connection_closed_with_reason(self, setup_recorder): method test_record_connection_closed_with_error (line 370) | def test_record_connection_closed_with_error(self, setup_recorder): class TestRecordConnectionRelaxedTimeout (line 387) | class TestRecordConnectionRelaxedTimeout: method test_record_connection_relaxed_timeout_relaxed (line 390) | def test_record_connection_relaxed_timeout_relaxed(self, setup_recorder): method test_record_connection_relaxed_timeout_unrelaxed (line 410) | def test_record_connection_relaxed_timeout_unrelaxed(self, setup_recor... class TestRecordConnectionHandoff (line 430) | class TestRecordConnectionHandoff: method test_record_connection_handoff (line 433) | def test_record_connection_handoff(self, setup_recorder): class TestRecordErrorCount (line 450) | class TestRecordErrorCount: method test_record_error_count (line 453) | def test_record_error_count(self, setup_recorder): method test_record_error_count_with_is_internal_false (line 481) | def test_record_error_count_with_is_internal_false(self, setup_recorder): class TestRecordMaintNotificationCount (line 506) | class TestRecordMaintNotificationCount: method test_record_maint_notification_count (line 509) | def test_record_maint_notification_count(self, setup_recorder): method test_record_maint_notification_count_migrating (line 533) | def test_record_maint_notification_count_migrating(self, setup_recorder): class TestRecordGeoFailover (line 556) | class TestRecordGeoFailover: method mock_database (line 560) | def mock_database(self): method mock_database_secondary (line 571) | def mock_database_secondary(self): method test_record_geo_failover_automatic (line 581) | def test_record_geo_failover_automatic( method test_record_geo_failover_manual (line 604) | def test_record_geo_failover_manual( class TestRecordPubsubMessage (line 627) | class TestRecordPubsubMessage: method test_record_pubsub_message_publish (line 630) | def test_record_pubsub_message_publish(self, setup_recorder): method test_record_pubsub_message_receive_sharded (line 653) | def test_record_pubsub_message_receive_sharded(self, setup_recorder): class TestRecordStreamingLag (line 674) | class TestRecordStreamingLag: method test_record_streaming_lag_with_all_attributes (line 677) | def test_record_streaming_lag_with_all_attributes(self, setup_recorder): method test_record_streaming_lag_minimal (line 699) | def test_record_streaming_lag_minimal(self, setup_recorder): method test_record_streaming_lag_with_stream_only (line 714) | def test_record_streaming_lag_with_stream_only(self, setup_recorder): class TestHidePubSubChannelNames (line 729) | class TestHidePubSubChannelNames: method setup_recorder_with_hidden_channels (line 733) | def setup_recorder_with_hidden_channels(self, mock_meter, mock_instrum... method test_channel_name_hidden_when_configured (line 751) | def test_channel_name_hidden_when_configured( method test_channel_name_visible_when_not_configured (line 773) | def test_channel_name_visible_when_not_configured(self, setup_recorder): class TestHideStreamNames (line 788) | class TestHideStreamNames: method setup_recorder_with_hidden_streams (line 792) | def setup_recorder_with_hidden_streams(self, mock_meter, mock_instrume... method test_stream_name_hidden_when_configured (line 810) | def test_stream_name_hidden_when_configured( method test_stream_name_visible_when_not_configured (line 828) | def test_stream_name_visible_when_not_configured(self, setup_recorder): method test_stream_name_hidden_in_record_streaming_lag_from_response_resp3 (line 840) | def test_stream_name_hidden_in_record_streaming_lag_from_response_resp3( method test_stream_name_hidden_in_record_streaming_lag_from_response_resp2 (line 870) | def test_stream_name_hidden_in_record_streaming_lag_from_response_resp2( class TestRecorderDisabled (line 901) | class TestRecorderDisabled: method test_record_operation_duration_when_disabled (line 904) | def test_record_operation_duration_when_disabled(self): method test_is_enabled_returns_false_when_disabled (line 920) | def test_is_enabled_returns_false_when_disabled(self): method test_all_record_functions_safe_when_disabled (line 929) | def test_all_record_functions_safe_when_disabled(self): class TestResetCollector (line 952) | class TestResetCollector: method test_reset_collector_clears_global (line 955) | def test_reset_collector_clears_global(self): class TestMetricGroupsDisabled (line 962) | class TestMetricGroupsDisabled: method _create_collector_with_disabled_groups (line 969) | def _create_collector_with_disabled_groups(self, mock_instruments, ena... method test_record_operation_duration_no_meter_call_when_command_disabled (line 1022) | def test_record_operation_duration_no_meter_call_when_command_disabled... method test_record_connection_create_time_no_meter_call_when_connection_basic_disabled (line 1042) | def test_record_connection_create_time_no_meter_call_when_connection_b... method test_record_connection_wait_time_no_meter_call_when_connection_advanced_disabled (line 1062) | def test_record_connection_wait_time_no_meter_call_when_connection_adv... method test_record_connection_closed_no_meter_call_when_connection_advanced_disabled (line 1082) | def test_record_connection_closed_no_meter_call_when_connection_advanc... method test_record_connection_relaxed_timeout_no_meter_call_when_connection_basic_disabled (line 1101) | def test_record_connection_relaxed_timeout_no_meter_call_when_connecti... method test_record_pubsub_message_no_meter_call_when_pubsub_disabled (line 1122) | def test_record_pubsub_message_no_meter_call_when_pubsub_disabled(self): method test_record_streaming_lag_no_meter_call_when_streaming_disabled (line 1140) | def test_record_streaming_lag_no_meter_call_when_streaming_disabled(se... method test_record_error_count_no_meter_call_when_resiliency_disabled (line 1159) | def test_record_error_count_no_meter_call_when_resiliency_disabled(self): method test_record_maint_notification_count_no_meter_call_when_resiliency_disabled (line 1181) | def test_record_maint_notification_count_no_meter_call_when_resiliency... method test_all_record_functions_no_meter_calls_when_all_groups_disabled (line 1204) | def test_all_record_functions_no_meter_calls_when_all_groups_disabled(... method test_enabled_group_receives_meter_calls_disabled_group_does_not (line 1245) | def test_enabled_group_receives_meter_calls_disabled_group_does_not(se... class TestObservablesRegistry (line 1282) | class TestObservablesRegistry: method test_registry_singleton_returns_same_instance (line 1285) | def test_registry_singleton_returns_same_instance(self): method test_registry_register_and_get_callbacks (line 1291) | def test_registry_register_and_get_callbacks(self): method test_registry_get_returns_empty_list_for_unknown_key (line 1306) | def test_registry_get_returns_empty_list_for_unknown_key(self): method test_registry_clear_removes_all_callbacks (line 1312) | def test_registry_clear_removes_all_callbacks(self): class TestRecordConnectionCount (line 1326) | class TestRecordConnectionCount: method mock_up_down_counter (line 1330) | def mock_up_down_counter(self): method mock_meter_with_counter (line 1335) | def mock_meter_with_counter(self, mock_up_down_counter): method mock_config_with_connection_basic (line 1345) | def mock_config_with_connection_basic(self): method setup_connection_count_recorder (line 1350) | def setup_connection_count_recorder( method test_record_connection_count_increment (line 1366) | def test_record_connection_count_increment( method test_record_connection_count_decrement (line 1386) | def test_record_connection_count_decrement( method test_record_connection_count_batch_decrement (line 1406) | def test_record_connection_count_batch_decrement( method test_record_connection_count_lifecycle_scenario (line 1422) | def test_record_connection_count_lifecycle_scenario( class TestInitCSCItems (line 1490) | class TestInitCSCItems: method mock_observable_gauge (line 1494) | def mock_observable_gauge(self): method mock_meter_with_observable (line 1499) | def mock_meter_with_observable(self, mock_observable_gauge): method mock_config_with_csc (line 1506) | def mock_config_with_csc(self): method setup_csc_recorder (line 1511) | def setup_csc_recorder(self, mock_meter_with_observable, mock_config_w... method test_init_csc_items_creates_observable_gauge (line 1527) | def test_init_csc_items_creates_observable_gauge(self, setup_csc_recor... method test_init_csc_items_callback_aggregates_registry_callbacks (line 1537) | def test_init_csc_items_callback_aggregates_registry_callbacks( method test_register_csc_items_callback_adds_callback_to_registry (line 1570) | def test_register_csc_items_callback_adds_callback_to_registry( method test_register_csc_items_callback_multiple_registrations (line 1593) | def test_register_csc_items_callback_multiple_registrations( class TestHistogramBucketBoundaries (line 1620) | class TestHistogramBucketBoundaries: method test_custom_operation_duration_buckets_passed_to_meter (line 1623) | def test_custom_operation_duration_buckets_passed_to_meter(self): method test_custom_connection_create_time_buckets_passed_to_meter (line 1643) | def test_custom_connection_create_time_buckets_passed_to_meter(self): method test_custom_connection_wait_time_buckets_passed_to_meter (line 1672) | def test_custom_connection_wait_time_buckets_passed_to_meter(self): method test_custom_stream_lag_buckets_passed_to_meter (line 1700) | def test_custom_stream_lag_buckets_passed_to_meter(self): method test_default_buckets_used_when_not_specified (line 1720) | def test_default_buckets_used_when_not_specified(self): FILE: tests/test_parsers/test_errors.py class MockSocket (line 9) | class MockSocket: method __init__ (line 12) | def __init__(self): method connect (line 17) | def connect(self, address): method send (line 20) | def send(self, data): method sendall (line 48) | def sendall(self, data): method recv (line 52) | def recv(self, bufsize): method recv_into (line 68) | def recv_into(self, buffer, nbytes=0): method fileno (line 98) | def fileno(self): method close (line 102) | def close(self): method settimeout (line 108) | def settimeout(self, timeout): method setsockopt (line 111) | def setsockopt(self, level, optname, value): method setblocking (line 114) | def setblocking(self, blocking): method shutdown (line 117) | def shutdown(self, how): class TestErrorParsing (line 121) | class TestErrorParsing: method setup_method (line 122) | def setup_method(self): method teardown_method (line 152) | def teardown_method(self): method test_external_auth_provider_error (line 158) | def test_external_auth_provider_error(self, protocol_version): FILE: tests/test_parsers/test_helpers.py function test_parse_info (line 4) | def test_parse_info(): function test_parse_info_list (line 38) | def test_parse_info_list(): function test_parse_info_list_dict_mixed (line 52) | def test_parse_info_list_dict_mixed(): function test_parse_client_list (line 66) | def test_parse_client_list(): FILE: tests/test_pipeline.py class TestPipeline (line 15) | class TestPipeline: method test_pipeline_is_true (line 16) | def test_pipeline_is_true(self, r): method test_pipeline (line 21) | def test_pipeline(self, r): method test_pipeline_memoryview (line 38) | def test_pipeline_memoryview(self, r): method test_pipeline_length (line 43) | def test_pipeline_length(self, r): method test_pipeline_no_transaction (line 56) | def test_pipeline_no_transaction(self, r): method test_pipeline_no_transaction_watch (line 65) | def test_pipeline_no_transaction_watch(self, r): method test_pipeline_no_transaction_watch_failure (line 77) | def test_pipeline_no_transaction_watch_failure(self, r): method test_exec_error_in_response (line 94) | def test_exec_error_in_response(self, r): method test_exec_error_raised (line 123) | def test_exec_error_raised(self, r): method test_transaction_with_empty_error_command (line 138) | def test_transaction_with_empty_error_command(self, r): method test_pipeline_with_empty_error_command (line 153) | def test_pipeline_with_empty_error_command(self, r): method test_parse_error_raised (line 167) | def test_parse_error_raised(self, r): method test_parse_error_raised_transaction (line 183) | def test_parse_error_raised_transaction(self, r): method test_watch_succeed (line 200) | def test_watch_succeed(self, r): method test_watch_failure (line 218) | def test_watch_failure(self, r): method test_watch_failure_in_empty_transaction (line 233) | def test_watch_failure_in_empty_transaction(self, r): method test_unwatch (line 247) | def test_unwatch(self, r): method test_watch_exec_no_unwatch (line 260) | def test_watch_exec_no_unwatch(self, r): method test_watch_reset_unwatch (line 281) | def test_watch_reset_unwatch(self, r): method test_close_is_reset (line 296) | def test_close_is_reset(self, r): method test_closing (line 309) | def test_closing(self, r): method test_transaction_callable (line 314) | def test_transaction_callable(self, r): method test_transaction_callable_returns_value_from_callable (line 339) | def test_transaction_callable_returns_value_from_callable(self, r): method test_exec_error_in_no_transaction_pipeline (line 347) | def test_exec_error_in_no_transaction_pipeline(self, r): method test_exec_error_in_no_transaction_pipeline_unicode_command (line 362) | def test_exec_error_in_no_transaction_pipeline_unicode_command(self, r): method test_exec_error_in_pipeline_truncated (line 377) | def test_exec_error_in_pipeline_truncated(self, r): method test_pipeline_with_bitfield (line 393) | def test_pipeline_with_bitfield(self, r): method test_pipeline_discard (line 413) | def test_pipeline_discard(self, r): method test_send_set_commands_over_pipeline (line 438) | def test_send_set_commands_over_pipeline(self, r: redis.Redis): method test_pipeline_with_msetex (line 449) | def test_pipeline_with_msetex(self, r): class TestPipelineMetricsRecording (line 463) | class TestPipelineMetricsRecording: method mock_connection (line 473) | def mock_connection(self): method mock_connection_pool (line 489) | def mock_connection_pool(self, mock_connection): method mock_meter (line 497) | def mock_meter(self): method setup_pipeline_with_otel (line 523) | def setup_pipeline_with_otel( method test_pipeline_execute_records_metric (line 558) | def test_pipeline_execute_records_metric(self, setup_pipeline_with_otel): method test_pipeline_no_transaction_records_pipeline_command_name (line 600) | def test_pipeline_no_transaction_records_pipeline_command_name( method test_pipeline_error_records_error_count (line 639) | def test_pipeline_error_records_error_count( method test_pipeline_server_attributes_recorded (line 685) | def test_pipeline_server_attributes_recorded(self, setup_pipeline_with... method test_multiple_pipeline_executions_record_multiple_metrics (line 704) | def test_multiple_pipeline_executions_record_multiple_metrics( method test_empty_pipeline_does_not_record_metric (line 749) | def test_empty_pipeline_does_not_record_metric( method test_pipeline_retry_records_metric_on_each_attempt (line 785) | def test_pipeline_retry_records_metric_on_each_attempt( method test_pipeline_retry_exhausted_records_final_error_metrics (line 875) | def test_pipeline_retry_exhausted_records_final_error_metrics( FILE: tests/test_pubsub.py function wait_for_message (line 27) | def wait_for_message( function make_message (line 50) | def make_message(type, channel, data, pattern=None): function make_subscribe_test_data (line 59) | def make_subscribe_test_data(pubsub, type): class TestPubSubSubscribeUnsubscribe (line 90) | class TestPubSubSubscribeUnsubscribe: method _test_subscribe_unsubscribe (line 91) | def _test_subscribe_unsubscribe( method test_channel_subscribe_unsubscribe (line 110) | def test_channel_subscribe_unsubscribe(self, r): method test_pattern_subscribe_unsubscribe (line 114) | def test_pattern_subscribe_unsubscribe(self, r): method test_shard_channel_subscribe_unsubscribe (line 120) | def test_shard_channel_subscribe_unsubscribe(self, r): method test_shard_channel_subscribe_unsubscribe_cluster (line 126) | def test_shard_channel_subscribe_unsubscribe_cluster(self, r): method _test_resubscribe_on_reconnection (line 156) | def _test_resubscribe_on_reconnection( method test_resubscribe_to_channels_on_reconnection (line 189) | def test_resubscribe_to_channels_on_reconnection(self, r): method test_resubscribe_to_patterns_on_reconnection (line 194) | def test_resubscribe_to_patterns_on_reconnection(self, r): method test_resubscribe_to_shard_channels_on_reconnection (line 200) | def test_resubscribe_to_shard_channels_on_reconnection(self, r): method test_resubscribe_binary_channel_on_reconnection (line 205) | def test_resubscribe_binary_channel_on_reconnection(self, r): method test_resubscribe_binary_pattern_on_reconnection (line 231) | def test_resubscribe_binary_pattern_on_reconnection(self, r): method _test_subscribed_property (line 254) | def _test_subscribed_property( method test_subscribe_property_with_channels (line 300) | def test_subscribe_property_with_channels(self, r): method test_subscribe_property_with_patterns (line 305) | def test_subscribe_property_with_patterns(self, r): method test_subscribe_property_with_shard_channels (line 311) | def test_subscribe_property_with_shard_channels(self, r): method test_subscribe_property_with_shard_channels_cluster (line 317) | def test_subscribe_property_with_shard_channels_cluster(self, r): method test_ignore_all_subscribe_messages (line 377) | def test_ignore_all_subscribe_messages(self, r): method test_ignore_individual_subscribe_messages (line 397) | def test_ignore_individual_subscribe_messages(self, r): method test_sub_unsub_resub_channels (line 417) | def test_sub_unsub_resub_channels(self, r): method test_sub_unsub_resub_patterns (line 422) | def test_sub_unsub_resub_patterns(self, r): method test_sub_unsub_resub_shard_channels (line 428) | def test_sub_unsub_resub_shard_channels(self, r): method _test_sub_unsub_resub (line 432) | def _test_sub_unsub_resub( method test_sub_unsub_resub_shard_channels_cluster (line 448) | def test_sub_unsub_resub_shard_channels_cluster(self, r): method test_sub_unsub_all_resub_channels (line 466) | def test_sub_unsub_all_resub_channels(self, r): method test_sub_unsub_all_resub_patterns (line 470) | def test_sub_unsub_all_resub_patterns(self, r): method test_sub_unsub_all_resub_shard_channels (line 476) | def test_sub_unsub_all_resub_shard_channels(self, r): method _test_sub_unsub_all_resub (line 480) | def _test_sub_unsub_all_resub( method test_sub_unsub_all_resub_shard_channels_cluster (line 496) | def test_sub_unsub_all_resub_shard_channels_cluster(self, r): class TestPubSubMessages (line 515) | class TestPubSubMessages: method setup_method (line 516) | def setup_method(self, method): method message_handler (line 519) | def message_handler(self, message): method test_published_message_to_channel (line 522) | def test_published_message_to_channel(self, r): method test_published_message_to_shard_channel (line 534) | def test_published_message_to_shard_channel(self, r): method test_published_message_to_shard_channel_cluster (line 546) | def test_published_message_to_shard_channel_cluster(self, r): method test_published_message_to_pattern (line 558) | def test_published_message_to_pattern(self, r): method test_channel_message_handler (line 581) | def test_channel_message_handler(self, r): method test_shard_channel_message_handler (line 590) | def test_shard_channel_message_handler(self, r): method test_pattern_message_handler (line 599) | def test_pattern_message_handler(self, r): method test_unicode_channel_message_handler (line 609) | def test_unicode_channel_message_handler(self, r): method test_unicode_shard_channel_message_handler (line 620) | def test_unicode_shard_channel_message_handler(self, r): method test_unicode_pattern_message_handler (line 633) | def test_unicode_pattern_message_handler(self, r): class TestPubSubRESP3Handler (line 646) | class TestPubSubRESP3Handler: method my_handler (line 647) | def my_handler(self, message): method test_push_handler (line 650) | def test_push_handler(self, r): method test_push_handler_sharded_pubsub (line 662) | def test_push_handler_sharded_pubsub(self, r): class TestPubSubAutoDecoding (line 674) | class TestPubSubAutoDecoding: method make_message (line 681) | def make_message(self, type, channel, data, pattern=None): method setup_method (line 684) | def setup_method(self, method): method message_handler (line 687) | def message_handler(self, message): method r (line 691) | def r(self, request): method test_channel_subscribe_unsubscribe (line 694) | def test_channel_subscribe_unsubscribe(self, r): method test_pattern_subscribe_unsubscribe (line 702) | def test_pattern_subscribe_unsubscribe(self, r): method test_shard_channel_subscribe_unsubscribe (line 711) | def test_shard_channel_subscribe_unsubscribe(self, r): method test_channel_publish (line 723) | def test_channel_publish(self, r): method test_pattern_publish (line 733) | def test_pattern_publish(self, r): method test_shard_channel_publish (line 743) | def test_shard_channel_publish(self, r): method test_channel_message_handler (line 754) | def test_channel_message_handler(self, r): method test_pattern_message_handler (line 771) | def test_pattern_message_handler(self, r): method test_shard_channel_message_handler (line 793) | def test_shard_channel_message_handler(self, r): method test_context_manager (line 816) | def test_context_manager(self, r): class TestPubSubRedisDown (line 826) | class TestPubSubRedisDown: method test_channel_subscribe (line 827) | def test_channel_subscribe(self, r): class TestPubSubSubcommands (line 834) | class TestPubSubSubcommands: method test_pubsub_channels (line 837) | def test_pubsub_channels(self, r): method test_pubsub_shardchannels (line 847) | def test_pubsub_shardchannels(self, r): method test_pubsub_shardchannels_cluster (line 857) | def test_pubsub_shardchannels_cluster(self, r): method test_pubsub_numsub (line 879) | def test_pubsub_numsub(self, r): method test_pubsub_numpat (line 896) | def test_pubsub_numpat(self, r): method test_pubsub_shardnumsub (line 905) | def test_pubsub_shardnumsub(self, r): method test_ssubscribe_multiple_channels_different_nodes (line 931) | def test_ssubscribe_multiple_channels_different_nodes(self, r): method test_ssubscribe_multiple_channels_publish_and_read (line 960) | def test_ssubscribe_multiple_channels_publish_and_read(self, r): method test_generator_handles_concurrent_mapping_changes (line 1002) | def test_generator_handles_concurrent_mapping_changes(self, r): class TestPubSubPings (line 1044) | class TestPubSubPings: method test_send_pubsub_ping (line 1046) | def test_send_pubsub_ping(self, r): method test_send_pubsub_ping_message (line 1055) | def test_send_pubsub_ping_message(self, r): class TestPubSubHealthCheckResponse (line 1065) | class TestPubSubHealthCheckResponse: method test_is_health_check_response_decode_false_list_format (line 1068) | def test_is_health_check_response_decode_false_list_format(self, r): method test_is_health_check_response_decode_false_bytes_format (line 1074) | def test_is_health_check_response_decode_false_bytes_format(self, r): method test_is_health_check_response_decode_false_rejects_string (line 1080) | def test_is_health_check_response_decode_false_rejects_string(self, r): method test_is_health_check_response_decode_true_list_format (line 1086) | def test_is_health_check_response_decode_true_list_format(self, request): method test_is_health_check_response_decode_true_string_format (line 1093) | def test_is_health_check_response_decode_true_string_format(self, requ... method test_is_health_check_response_decode_true_rejects_bytes (line 1100) | def test_is_health_check_response_decode_true_rejects_bytes(self, requ... method test_is_health_check_response_decode_true_rejects_invalid (line 1107) | def test_is_health_check_response_decode_true_rejects_invalid(self, re... method test_is_health_check_response_decode_false_rejects_invalid (line 1116) | def test_is_health_check_response_decode_false_rejects_invalid(self, r): class TestPubSubConnectionKilled (line 1126) | class TestPubSubConnectionKilled: method test_connection_error_raised_when_connection_dies (line 1129) | def test_connection_error_raised_when_connection_dies(self, r): class TestPubSubTimeouts (line 1140) | class TestPubSubTimeouts: method test_get_message_with_timeout_returns_none (line 1141) | def test_get_message_with_timeout_returns_none(self, r): method test_get_message_not_subscribed_return_none (line 1147) | def test_get_message_not_subscribed_return_none(self, r): method test_get_message_subscribe_during_waiting (line 1157) | def test_get_message_subscribe_during_waiting(self, r): method test_get_message_wait_for_subscription_not_being_called (line 1172) | def test_get_message_wait_for_subscription_not_being_called(self, r): class TestPubSubWorkerThread (line 1189) | class TestPubSubWorkerThread: method test_pubsub_worker_thread_exception_handler (line 1193) | def test_pubsub_worker_thread_exception_handler(self, r): class TestPubSubDeadlock (line 1212) | class TestPubSubDeadlock: method test_pubsub_deadlock (line 1214) | def test_pubsub_deadlock(self, master_host): class TestPubSubAutoReconnect (line 1227) | class TestPubSubAutoReconnect: method mysetup (line 1228) | def mysetup(self, r, method): method wait_for_reconnect (line 1250) | def wait_for_reconnect(self): method mycleanup (line 1263) | def mycleanup(self): method test_reconnect_socket_error (line 1270) | def test_reconnect_socket_error(self, r: redis.Redis, method): method test_reconnect_disconnect (line 1292) | def test_reconnect_disconnect(self, r: redis.Redis, method): method loop (line 1308) | def loop(self): method loop_step_get_message (line 1334) | def loop_step_get_message(self): method loop_step_listen (line 1342) | def loop_step_listen(self): class TestBaseException (line 1350) | class TestBaseException: method test_base_exception (line 1351) | def test_base_exception(self, r: redis.Redis): class TestPubSubMetricsRecording (line 1395) | class TestPubSubMetricsRecording: method mock_connection (line 1405) | def mock_connection(self): method mock_connection_pool (line 1423) | def mock_connection_pool(self, mock_connection): method mock_meter (line 1431) | def mock_meter(self): method setup_pubsub_with_otel (line 1457) | def setup_pubsub_with_otel(self, mock_connection_pool, mock_connection... method test_pubsub_execute_records_metric (line 1499) | def test_pubsub_execute_records_metric(self, setup_pubsub_with_otel): method test_pubsub_error_records_error_count (line 1531) | def test_pubsub_error_records_error_count( method test_pubsub_server_attributes_recorded (line 1582) | def test_pubsub_server_attributes_recorded(self, setup_pubsub_with_otel): method test_pubsub_retry_records_metric_on_each_attempt (line 1599) | def test_pubsub_retry_records_metric_on_each_attempt( method test_pubsub_retry_exhausted_records_final_error_metric (line 1683) | def test_pubsub_retry_exhausted_records_final_error_metric( method test_pubsub_no_metric_when_no_command_name (line 1772) | def test_pubsub_no_metric_when_no_command_name(self, setup_pubsub_with... method test_pubsub_different_commands_record_correct_names (line 1786) | def test_pubsub_different_commands_record_correct_names( class TestPubSubTimeoutPropagation (line 1836) | class TestPubSubTimeoutPropagation: method test_get_message_timeout_is_respected (line 1843) | def test_get_message_timeout_is_respected(self, r): method test_get_message_timeout_with_published_message (line 1864) | def test_get_message_timeout_with_published_message(self, r): method test_parse_response_timeout_propagation (line 1884) | def test_parse_response_timeout_propagation(self, r): method test_get_message_timeout_zero_returns_immediately (line 1901) | def test_get_message_timeout_zero_returns_immediately(self, r): method test_get_message_timeout_none_blocks (line 1918) | def test_get_message_timeout_none_blocks(self, r): method test_multiple_messages_with_timeout (line 1948) | def test_multiple_messages_with_timeout(self, r): method test_timeout_with_pattern_subscribe (line 1975) | def test_timeout_with_pattern_subscribe(self, r): method test_timeout_with_no_subscription (line 1995) | def test_timeout_with_no_subscription(self, r): class TestClusterPubSubTimeoutPropagation (line 2010) | class TestClusterPubSubTimeoutPropagation: method test_get_sharded_message_timeout_is_respected (line 2017) | def test_get_sharded_message_timeout_is_respected(self, r): method test_get_sharded_message_timeout_with_published_message (line 2041) | def test_get_sharded_message_timeout_with_published_message(self, r): method test_get_sharded_message_timeout_zero_returns_immediately (line 2065) | def test_get_sharded_message_timeout_zero_returns_immediately(self, r): method test_get_sharded_message_multiple_channels_with_timeout (line 2086) | def test_get_sharded_message_multiple_channels_with_timeout(self, r): FILE: tests/test_retry.py class BackoffMock (line 28) | class BackoffMock(AbstractBackoff): method __init__ (line 29) | def __init__(self): method reset (line 33) | def reset(self): method compute (line 36) | def compute(self, failures): class TestConnectionConstructorWithRetry (line 41) | class TestConnectionConstructorWithRetry: method test_retry_on_timeout_boolean (line 46) | def test_retry_on_timeout_boolean(self, Class, retry_on_timeout): method test_retry_on_timeout_retry (line 54) | def test_retry_on_timeout_retry(self, Class, retries): method test_retry_on_error (line 62) | def test_retry_on_error(self, Class): method test_retry_on_error_empty_value (line 69) | def test_retry_on_error_empty_value(self, Class): method test_retry_on_error_and_timeout (line 76) | def test_retry_on_error_and_timeout(self, Class): method test_retry_on_error_retry (line 86) | def test_retry_on_error_retry(self, Class, retries): function test_retry_eq_and_hashable (line 113) | def test_retry_eq_and_hashable(retry_class, args): class TestRetry (line 138) | class TestRetry: method setup_method (line 141) | def setup_method(self, test_method): method _do (line 145) | def _do(self): method _fail (line 149) | def _fail(self, error): method _fail_inf (line 152) | def _fail_inf(self, error): method test_retry (line 158) | def test_retry(self, retries): method test_infinite_retry (line 169) | def test_infinite_retry(self): class TestRedisClientRetry (line 181) | class TestRedisClientRetry: method test_client_retry_on_error_with_success (line 184) | def test_client_retry_on_error_with_success(self, request): method test_client_retry_on_error_raise (line 199) | def test_client_retry_on_error_raise(self, request): method test_client_retry_on_error_different_error_raised (line 215) | def test_client_retry_on_error_different_error_raised(self, request): method test_client_retry_on_error_and_timeout (line 231) | def test_client_retry_on_error_and_timeout(self, request): method test_client_retry_on_timeout (line 248) | def test_client_retry_on_timeout(self, request): method test_get_set_retry_object_for_cluster_client (line 262) | def test_get_set_retry_object_for_cluster_client(self, request): method test_get_set_retry_object (line 277) | def test_get_set_retry_object(self, request): FILE: tests/test_scenario/conftest.py class CheckActiveDatabaseChangedListener (line 38) | class CheckActiveDatabaseChangedListener(EventListenerInterface): method __init__ (line 39) | def __init__(self): method listen (line 42) | def listen(self, event: ActiveDatabaseChanged): function use_mock_proxy (line 46) | def use_mock_proxy(): function endpoint_name (line 60) | def endpoint_name(request): function cluster_endpoint_name (line 67) | def cluster_endpoint_name(request): function get_endpoints_config (line 73) | def get_endpoints_config(endpoint_name: str): function get_bdbs_config (line 90) | def get_bdbs_config(endpoint_name: str): function endpoints_config (line 109) | def endpoints_config(endpoint_name: str): function maint_notifications_cluster_bdb_config (line 114) | def maint_notifications_cluster_bdb_config(cluster_endpoint_name: str): function fault_injector_client (line 124) | def fault_injector_client(): function fault_injector_client_oss_api (line 133) | def fault_injector_client_oss_api(): function r_multi_db (line 139) | def r_multi_db( function extract_cluster_fqdn (line 211) | def extract_cluster_fqdn(url): function _prepare_ssl_certificates (line 229) | def _prepare_ssl_certificates(cert_chain: bool) -> dict: function client_maint_notifications (line 263) | def client_maint_notifications(endpoints_config): function _get_client_maint_notifications (line 267) | def _get_client_maint_notifications( function get_cluster_client_maint_notifications (line 335) | def get_cluster_client_maint_notifications( FILE: tests/test_scenario/fault_injector_client.py class TaskStatuses (line 23) | class TaskStatuses: class ActionType (line 34) | class ActionType(str, Enum): class SlotMigrateEffects (line 47) | class SlotMigrateEffects(str, Enum): class RestartDmcParams (line 54) | class RestartDmcParams: method __init__ (line 55) | def __init__(self, bdb_id: str): method to_dict (line 58) | def to_dict(self) -> Dict[str, str]: class ActionRequest (line 62) | class ActionRequest: method __init__ (line 63) | def __init__( method to_dict (line 71) | def to_dict(self) -> Dict[str, Any]: class NodeInfo (line 81) | class NodeInfo: class FaultInjectorClient (line 90) | class FaultInjectorClient(ABC): method get_operation_result (line 92) | def get_operation_result( method create_database (line 100) | def create_database( method delete_database (line 107) | def delete_database( method find_database_id_by_name (line 114) | def find_database_id_by_name( method find_target_node_and_empty_node (line 122) | def find_target_node_and_empty_node( method find_endpoint_for_bind (line 130) | def find_endpoint_for_bind( method execute_failover (line 138) | def execute_failover( method execute_migrate (line 146) | def execute_migrate( method execute_rebind (line 156) | def execute_rebind( method get_moving_ttl (line 164) | def get_moving_ttl(self) -> int: method get_slot_migrate_triggers (line 168) | def get_slot_migrate_triggers( method trigger_effect (line 175) | def trigger_effect( class REFaultInjector (line 187) | class REFaultInjector(FaultInjectorClient): method __init__ (line 192) | def __init__(self, base_url: str): method _make_request (line 197) | def _make_request( method list_actions (line 218) | def list_actions(self) -> Dict[str, Any]: method trigger_action (line 222) | def trigger_action(self, action_request: ActionRequest) -> Dict[str, A... method get_action_status (line 227) | def get_action_status(self, action_id: str) -> Dict[str, Any]: method execute_rladmin_command (line 231) | def execute_rladmin_command( method get_operation_result (line 257) | def get_operation_result( method create_database (line 289) | def create_database( method delete_database (line 317) | def delete_database( method get_cluster_nodes_info (line 343) | def get_cluster_nodes_info(self) -> None: method find_database_id_by_name (line 376) | def find_database_id_by_name( method find_target_node_and_empty_node (line 408) | def find_target_node_and_empty_node( method find_endpoint_for_bind (line 523) | def find_endpoint_for_bind( method execute_failover (line 566) | def execute_failover( method execute_migrate (line 612) | def execute_migrate( method execute_rebind (line 649) | def execute_rebind( method get_slot_migrate_triggers (line 687) | def get_slot_migrate_triggers( method trigger_effect (line 696) | def trigger_effect( method get_moving_ttl (line 741) | def get_moving_ttl(self) -> int: method _get_first_master_shard (line 744) | def _get_first_master_shard( class ProxyServerFaultInjector (line 783) | class ProxyServerFaultInjector(FaultInjectorClient): method __init__ (line 806) | def __init__(self, oss_cluster: bool = False): method _get_seq_id (line 820) | def _get_seq_id(self): method get_operation_result (line 824) | def get_operation_result( method create_database (line 831) | def create_database( method delete_database (line 855) | def delete_database( method find_database_id_by_name (line 861) | def find_database_id_by_name( method find_target_node_and_empty_node (line 868) | def find_target_node_and_empty_node( method find_endpoint_for_bind (line 881) | def find_endpoint_for_bind( method execute_failover (line 888) | def execute_failover( method execute_migrate (line 938) | def execute_migrate( method execute_rebind (line 995) | def execute_rebind(self, endpoint_config: Dict[str, Any], endpoint_id:... method get_moving_ttl (line 1040) | def get_moving_ttl(self) -> int: method get_slot_migrate_triggers (line 1043) | def get_slot_migrate_triggers( method trigger_effect (line 1049) | def trigger_effect( FILE: tests/test_scenario/maint_notifications_helpers.py class ClientValidations (line 17) | class ClientValidations: method get_default_connection (line 19) | def get_default_connection(redis_client: Union[Redis, RedisCluster]) -... method release_connection (line 28) | def release_connection( method wait_push_notification (line 46) | def wait_push_notification( class ClusterOperations (line 94) | class ClusterOperations: method find_database_id_by_name (line 96) | def find_database_id_by_name( method find_target_node_and_empty_node (line 107) | def find_target_node_and_empty_node( method find_endpoint_for_bind (line 123) | def find_endpoint_for_bind( method execute_failover (line 138) | def execute_failover( method execute_migrate (line 147) | def execute_migrate( method execute_rebind (line 160) | def execute_rebind( method get_slot_migrate_triggers (line 169) | def get_slot_migrate_triggers( method trigger_effect (line 177) | def trigger_effect( class KeyGenerationHelpers (line 210) | class KeyGenerationHelpers: method redis_crc16 (line 214) | def redis_crc16(data: bytes) -> int: method redis_slot (line 221) | def redis_slot(key: str) -> int: method generate_key (line 237) | def generate_key(slot_number: int, prefix: str = "key") -> str: method generate_keys_for_all_shards (line 253) | def generate_keys_for_all_shards( FILE: tests/test_scenario/test_active_active.py function trigger_network_failure_action (line 23) | def trigger_network_failure_action( class TestActiveActive (line 48) | class TestActiveActive: method teardown_method (line 49) | def teardown_method(self, method): method test_multi_db_client_failover_to_another_db (line 63) | def test_multi_db_client_failover_to_another_db( method test_multi_db_client_uses_lag_aware_health_check (line 122) | def test_multi_db_client_uses_lag_aware_health_check( method test_context_manager_pipeline_failover_to_another_db (line 187) | def test_context_manager_pipeline_failover_to_another_db( method test_chaining_pipeline_failover_to_another_db (line 245) | def test_chaining_pipeline_failover_to_another_db( method test_transaction_failover_to_another_db (line 297) | def test_transaction_failover_to_another_db( method test_pubsub_failover_to_another_db (line 352) | def test_pubsub_failover_to_another_db(self, r_multi_db, fault_injecto... method test_sharded_pubsub_failover_to_another_db (line 410) | def test_sharded_pubsub_failover_to_another_db( FILE: tests/test_scenario/test_maint_notifications.py class TestPushNotificationsBase (line 65) | class TestPushNotificationsBase: method _trigger_effect (line 71) | def _trigger_effect( method _execute_failover (line 98) | def _execute_failover( method _execute_migration (line 112) | def _execute_migration( method _execute_bind (line 133) | def _execute_bind( method _execute_migrate_bind_flow (line 148) | def _execute_migrate_bind_flow( method _get_all_connections_in_pool (line 169) | def _get_all_connections_in_pool(self, client: Redis) -> List[Connecti... method _validate_maintenance_state (line 178) | def _validate_maintenance_state( method _validate_moving_state (line 194) | def _validate_moving_state( method _validate_default_state (line 250) | def _validate_default_state( method _validate_default_notif_disabled_state (line 309) | def _validate_default_notif_disabled_state( class TestStandaloneClientPushNotifications (line 333) | class TestStandaloneClientPushNotifications(TestPushNotificationsBase): method setup_and_cleanup (line 335) | def setup_and_cleanup( method test_receive_failing_over_and_failed_over_push_notification (line 397) | def test_receive_failing_over_and_failed_over_push_notification( method test_receive_migrating_and_moving_push_notification (line 442) | def test_receive_migrating_and_moving_push_notification( method test_timeout_handling_during_migrating_and_moving (line 531) | def test_timeout_handling_during_migrating_and_moving( method test_connection_handling_during_moving (line 644) | def test_connection_handling_during_moving( method test_old_connection_shutdown_during_moving (line 741) | def test_old_connection_shutdown_during_moving( method test_new_connections_receive_moving (line 873) | def test_new_connections_receive_moving( method test_new_connections_receive_migrating (line 970) | def test_new_connections_receive_migrating( method test_disabled_handling_during_migrating_and_moving (line 1036) | def test_disabled_handling_during_migrating_and_moving( method test_command_execution_during_migrating_and_moving (line 1155) | def test_command_execution_during_migrating_and_moving( function generate_params (line 1242) | def generate_params( class TestClusterClientPushNotificationsWithEffectTriggerBase (line 1280) | class TestClusterClientPushNotificationsWithEffectTriggerBase( method delete_prev_db (line 1283) | def delete_prev_db( method create_db (line 1303) | def create_db( method setup_env (line 1317) | def setup_env( method setup_and_cleanup (line 1352) | def setup_and_cleanup( class TestClusterClientPushNotificationsHandlingWithEffectTrigger (line 1373) | class TestClusterClientPushNotificationsHandlingWithEffectTrigger( method test_notification_handling_during_node_shuffle_no_node_replacement (line 1383) | def test_notification_handling_during_node_shuffle_no_node_replacement( method test_notification_handling_with_node_replace (line 1498) | def test_notification_handling_with_node_replace( method test_notification_handling_with_node_remove (line 1619) | def test_notification_handling_with_node_remove( method test_new_connections_receive_last_smigrating_smigrated_notification (line 1757) | def test_new_connections_receive_last_smigrating_smigrated_notification( class TestClusterClientCommandsExecutionWithPushNotificationsWithEffectTrigger (line 1872) | class TestClusterClientCommandsExecutionWithPushNotificationsWithEffectT... method test_command_execution_during_slot_shuffle_no_node_replacement (line 1888) | def test_command_execution_during_slot_shuffle_no_node_replacement( FILE: tests/test_scripting.py class TestScript (line 24) | class TestScript: method script_str (line 32) | def script_str(self): method script_bytes (line 36) | def script_bytes(self): method test_script_text (line 39) | def test_script_text(self, r, script_str, script_bytes): method test_string_script_sha (line 43) | def test_string_script_sha(self, r, script_str): method test_bytes_script_sha (line 47) | def test_bytes_script_sha(self, r, script_bytes): method test_encoder (line 51) | def test_encoder(self, r, script_bytes): class TestScripting (line 57) | class TestScripting: method reset_scripts (line 59) | def reset_scripts(self, r): method test_eval_multiply (line 62) | def test_eval_multiply(self, r): method test_eval_ro (line 69) | def test_eval_ro(self, r): method test_eval_msgpack (line 75) | def test_eval_msgpack(self, r): method test_eval_same_slot (line 80) | def test_eval_same_slot(self, r): method test_eval_crossslot (line 100) | def test_eval_crossslot(self, r): method test_script_flush_620 (line 122) | def test_script_flush_620(self, r): method test_script_flush (line 140) | def test_script_flush(self, r): method test_evalsha (line 150) | def test_evalsha(self, r): method test_evalsha_ro (line 158) | def test_evalsha_ro(self, r): method test_evalsha_script_not_loaded (line 166) | def test_evalsha_script_not_loaded(self, r): method test_script_loading (line 174) | def test_script_loading(self, r): method test_flush_response (line 182) | def test_flush_response(self, r): method test_script_object (line 187) | def test_script_object(self, r): method test_script_object_in_pipeline (line 204) | def test_script_object_in_pipeline(self, r): method test_eval_msgpack_pipeline_error_in_lua (line 234) | def test_eval_msgpack_pipeline_error_in_lua(self, r): FILE: tests/test_search.py function _assert_search_result (line 67) | def _assert_search_result(client, result, expected_doc_ids): class SearchTestsBase (line 78) | class SearchTestsBase: method waitForIndex (line 80) | def waitForIndex(env, idx, timeout=None): method getClient (line 107) | def getClient(client): method createIndex (line 115) | def createIndex(client, num_docs=100, definition=None): method client (line 155) | def client(self, request, stack_url): class TestBaseSearchFunctionality (line 161) | class TestBaseSearchFunctionality(SearchTestsBase): method test_client (line 163) | def test_client(self, client): method test_scores (line 371) | def test_scores(self, client): method test_scores_with_new_default_scorer (line 393) | def test_scores_with_new_default_scorer(self, client): method test_stopwords (line 413) | def test_stopwords(self, client): method test_filters (line 430) | def test_filters(self, client): method test_sort_by (line 484) | def test_sort_by(self, client): method test_drop_index (line 516) | def test_drop_index(self, client): method test_example (line 533) | def test_example(self, client): method test_auto_complete (line 554) | def test_auto_complete(self, client): method test_no_index (line 602) | def test_no_index(self, client): method test_explain (line 691) | def test_explain(self, client): method test_explaincli (line 697) | def test_explaincli(self, client): method test_summarize (line 702) | def test_summarize(self, client): method test_alias (line 745) | def test_alias(self, client): method test_alias_basic (line 807) | def test_alias_basic(self, client): method test_textfield_sortable_nostem (line 854) | def test_textfield_sortable_nostem(self, client): method test_alter_schema_add (line 868) | def test_alter_schema_add(self, client): method test_spell_check (line 892) | def test_spell_check(self, client): method test_dict_operations (line 960) | def test_dict_operations(self, client): method test_phonetic_matcher (line 978) | def test_phonetic_matcher(self, client): method test_get (line 1009) | def test_get(self, client): method test_index_definition (line 1034) | def test_index_definition(self, client): method test_expire (line 1079) | def test_expire(self, client): method test_skip_initial_scan (line 1089) | def test_skip_initial_scan(self, client): method test_summarize_disabled_nooffset (line 1101) | def test_summarize_disabled_nooffset(self, client): method test_summarize_disabled_nohl (line 1108) | def test_summarize_disabled_nohl(self, client): method test_max_text_fields (line 1115) | def test_max_text_fields(self, client): method test_create_client_definition (line 1134) | def test_create_client_definition(self, client): method test_create_client_definition_hash (line 1151) | def test_create_client_definition_hash(self, client): method test_create_client_definition_json (line 1170) | def test_create_client_definition_json(self, client): method test_fields_as_name (line 1194) | def test_fields_as_name(self, client): method test_casesensitive (line 1220) | def test_casesensitive(self, client): method test_search_return_fields (line 1254) | def test_search_return_fields(self, client): method test_binary_and_text_fields (line 1295) | def test_binary_and_text_fields(self, client): method test_synupdate (line 1343) | def test_synupdate(self, client): method test_syndump (line 1370) | def test_syndump(self, client): method test_expire_while_search (line 1390) | def test_expire_while_search(self, client: redis.Redis): method test_withsuffixtrie (line 1412) | def test_withsuffixtrie(self, client: redis.Redis): method test_query_timeout (line 1452) | def test_query_timeout(self, r: redis.Redis): method test_geoshape (line 1464) | def test_geoshape(self, client: redis.Redis): method test_search_missing_fields (line 1481) | def test_search_missing_fields(self, client): method test_create_index_empty_or_missing_fields_with_sortable (line 1548) | def test_create_index_empty_or_missing_fields_with_sortable(self, clie... method test_search_empty_fields (line 1562) | def test_search_empty_fields(self, client): method test_special_characters_in_fields (line 1632) | def test_special_characters_in_fields(self, client): method test_vector_search_with_default_dialect (line 1690) | def test_vector_search_with_default_dialect(self, client): method test_search_query_with_different_dialects (line 1717) | def test_search_query_with_different_dialects(self, client): method test_info_exposes_search_info (line 1746) | def test_info_exposes_search_info(self, client): class TestScorers (line 1750) | class TestScorers(SearchTestsBase): method test_scorer (line 1756) | def test_scorer(self, client): method test_scorer_with_new_default_scorer (line 1809) | def test_scorer_with_new_default_scorer(self, client): class TestConfig (line 1860) | class TestConfig(SearchTestsBase): method test_config (line 1865) | def test_config(self, client): method test_config_with_removed_ftconfig (line 1877) | def test_config_with_removed_ftconfig(self, client): method test_dialect_config (line 1889) | def test_dialect_config(self, client): method test_dialect (line 1898) | def test_dialect(self, client): class TestAggregations (line 1932) | class TestAggregations(SearchTestsBase): method test_aggregations_groupby (line 1935) | def test_aggregations_groupby(self, client): method test_aggregations_sort_by_and_limit (line 2191) | def test_aggregations_sort_by_and_limit(self, client): method test_aggregations_load (line 2249) | def test_aggregations_load(self, client): method test_aggregations_apply (line 2289) | def test_aggregations_apply(self, client): method test_aggregations_filter (line 2327) | def test_aggregations_filter(self, client): method test_aggregations_add_scores (line 2376) | def test_aggregations_add_scores(self, client): method test_aggregations_hybrid_scoring (line 2401) | async def test_aggregations_hybrid_scoring(self, client): class TestSearchWithJsonIndex (line 2456) | class TestSearchWithJsonIndex(SearchTestsBase): method test_create_json_with_alias (line 2459) | def test_create_json_with_alias(self, client): method test_json_with_multipath (line 2507) | def test_json_with_multipath(self, client): method test_json_with_jsonpath (line 2552) | def test_json_with_jsonpath(self, client): class TestProfile (line 2601) | class TestProfile(SearchTestsBase): method test_profile (line 2607) | def test_profile(self, client): method test_profile_with_coordinator (line 2654) | def test_profile_with_coordinator(self, client): method test_profile_limited (line 2704) | def test_profile_limited(self, client): method test_profile_query_params (line 2738) | def test_profile_query_params(self, client): class TestDifferentFieldTypesSearch (line 2769) | class TestDifferentFieldTypesSearch(SearchTestsBase): method test_vector_field (line 2772) | def test_vector_field(self, client): method test_vector_field_error (line 2798) | def test_vector_field_error(self, r): method test_text_params (line 2811) | def test_text_params(self, client): method test_numeric_params (line 2833) | def test_numeric_params(self, client): method test_geo_params (line 2856) | def test_geo_params(self, client): method test_geoshapes_query_intersects_and_disjoint (line 2875) | def test_geoshapes_query_intersects_and_disjoint(self, client): method test_geoshapes_query_contains_and_within (line 2901) | def test_geoshapes_query_contains_and_within(self, client): method test_vector_search_with_int8_type (line 2933) | def test_vector_search_with_int8_type(self, client): method test_vector_search_with_uint8_type (line 2963) | def test_vector_search_with_uint8_type(self, client): class TestPipeline (line 2992) | class TestPipeline(SearchTestsBase): method test_search_commands_in_pipeline (line 2995) | def test_search_commands_in_pipeline(self, client): method test_hybrid_search_query_with_pipeline (line 3024) | def test_hybrid_search_query_with_pipeline(self, client): class TestSearchWithVamana (line 3093) | class TestSearchWithVamana(SearchTestsBase): method test_svs_vamana_l2_distance_metric (line 3097) | def test_svs_vamana_l2_distance_metric(self, client): method test_svs_vamana_cosine_distance_metric (line 3128) | def test_svs_vamana_cosine_distance_metric(self, client): method test_svs_vamana_ip_distance_metric (line 3163) | def test_svs_vamana_ip_distance_metric(self, client): method test_svs_vamana_basic_functionality (line 3193) | def test_svs_vamana_basic_functionality(self, client): method test_svs_vamana_float16_type (line 3232) | def test_svs_vamana_float16_type(self, client): method test_svs_vamana_float32_type (line 3262) | def test_svs_vamana_float32_type(self, client): method test_svs_vamana_vector_search_with_default_dialect (line 3292) | def test_svs_vamana_vector_search_with_default_dialect(self, client): method test_svs_vamana_vector_field_basic (line 3319) | def test_svs_vamana_vector_field_basic(self): method test_svs_vamana_lvq8_compression (line 3341) | def test_svs_vamana_lvq8_compression(self, client): method test_svs_vamana_compression_with_both_vector_types (line 3378) | def test_svs_vamana_compression_with_both_vector_types(self, client): method test_svs_vamana_construction_window_size (line 3450) | def test_svs_vamana_construction_window_size(self, client): method test_svs_vamana_graph_max_degree (line 3486) | def test_svs_vamana_graph_max_degree(self, client): method test_svs_vamana_search_window_size (line 3522) | def test_svs_vamana_search_window_size(self, client): method test_svs_vamana_epsilon_parameter (line 3558) | def test_svs_vamana_epsilon_parameter(self, client): method test_svs_vamana_all_build_parameters_combined (line 3594) | def test_svs_vamana_all_build_parameters_combined(self, client): method test_svs_vamana_comprehensive_configuration (line 3635) | def test_svs_vamana_comprehensive_configuration(self, client): method test_svs_vamana_hybrid_text_vector_search (line 3677) | def test_svs_vamana_hybrid_text_vector_search(self, client): method test_svs_vamana_large_dimension_vectors (line 3757) | def test_svs_vamana_large_dimension_vectors(self, client): method test_svs_vamana_training_threshold_behavior (line 3795) | def test_svs_vamana_training_threshold_behavior(self, client): method test_svs_vamana_different_k_values (line 3831) | def test_svs_vamana_different_k_values(self, client): method test_svs_vamana_vector_field_error (line 3868) | def test_svs_vamana_vector_field_error(self, client): method test_svs_vamana_vector_search_with_parameters (line 3884) | def test_svs_vamana_vector_search_with_parameters(self, client): method test_svs_vamana_vector_search_with_parameters_leanvec (line 3929) | def test_svs_vamana_vector_search_with_parameters_leanvec(self, client): class TestHybridSearch (line 3975) | class TestHybridSearch(SearchTestsBase): method _create_hybrid_search_index (line 3976) | def _create_hybrid_search_index(self, client, dim=4): method _generate_random_vector (line 4008) | def _generate_random_vector(dim): method _generate_random_str_data (line 4012) | def _generate_random_str_data(dim): method _add_data_for_hybrid_search (line 4017) | def _add_data_for_hybrid_search( method _convert_dict_values_to_str (line 4076) | def _convert_dict_values_to_str(list_of_dicts): method compare_list_of_dicts (line 4089) | def compare_list_of_dicts(actual, expected): method test_basic_hybrid_search (line 4108) | def test_basic_hybrid_search(self, client): method test_hybrid_search_query_with_scorer (line 4148) | def test_hybrid_search_query_with_scorer(self, client): method test_hybrid_search_query_with_supported_scorer (line 4255) | def test_hybrid_search_query_with_supported_scorer(self, client): method test_hybrid_search_query_with_vsim_method_defined_query_init (line 4294) | def test_hybrid_search_query_with_vsim_method_defined_query_init(self,... method test_hybrid_search_query_with_vsim_filter (line 4324) | def test_hybrid_search_query_with_vsim_filter(self, client): method test_hybrid_search_query_with_search_score_aliases (line 4365) | def test_hybrid_search_query_with_search_score_aliases(self, client): method test_hybrid_search_query_with_vsim_score_aliases (line 4410) | def test_hybrid_search_query_with_vsim_score_aliases(self, client): method test_hybrid_search_query_with_combine_score_aliases (line 4457) | def test_hybrid_search_query_with_combine_score_aliases(self, client): method test_hybrid_search_query_with_combine_all_score_aliases (line 4499) | def test_hybrid_search_query_with_combine_all_score_aliases(self, clie... method test_hybrid_search_query_with_vsim_knn (line 4563) | def test_hybrid_search_query_with_vsim_knn(self, client): method test_hybrid_search_query_with_vsim_range (line 4648) | def test_hybrid_search_query_with_vsim_range(self, client): method test_hybrid_search_query_with_combine (line 4739) | def test_hybrid_search_query_with_combine(self, client): method test_hybrid_search_query_with_load (line 4853) | def test_hybrid_search_query_with_load(self, client): method test_hybrid_search_query_with_load_and_apply (line 4915) | def test_hybrid_search_query_with_load_and_apply(self, client): method test_hybrid_search_query_with_load_and_filter (line 4985) | def test_hybrid_search_query_with_load_and_filter(self, client): method test_hybrid_search_query_with_load_apply_and_params (line 5032) | def test_hybrid_search_query_with_load_apply_and_params(self, client): method test_hybrid_search_query_with_limit (line 5097) | def test_hybrid_search_query_with_limit(self, client): method test_hybrid_search_query_with_load_apply_and_sortby (line 5133) | def test_hybrid_search_query_with_load_apply_and_sortby(self, client): method test_hybrid_search_query_with_timeout (line 5189) | def test_hybrid_search_query_with_timeout(self, client): method test_hybrid_search_query_with_load_and_groupby (line 5253) | def test_hybrid_search_query_with_load_and_groupby(self, client): method test_hybrid_search_query_with_cursor (line 5366) | def test_hybrid_search_query_with_cursor(self, client): method test_hybrid_search_query_with_multiple_loads_and_applies (line 5415) | def test_hybrid_search_query_with_multiple_loads_and_applies(self, cli... FILE: tests/test_sentinel.py function master_ip (line 19) | def master_ip(master_host): class SentinelTestClient (line 23) | class SentinelTestClient: method __init__ (line 24) | def __init__(self, cluster, id): method sentinel_masters (line 28) | def sentinel_masters(self): method sentinel_slaves (line 33) | def sentinel_slaves(self, master_name): method execute_command (line 40) | def execute_command(self, *args, **kwargs): class SentinelTestCluster (line 47) | class SentinelTestCluster: method __init__ (line 48) | def __init__(self, servisentinel_ce_name="mymaster", ip="127.0.0.1", p... method connection_error_if_down (line 63) | def connection_error_if_down(self, node): method timeout_if_down (line 67) | def timeout_if_down(self, node): method client (line 71) | def client(self, host, port, **kwargs): function cluster (line 76) | def cluster(request, master_ip): function sentinel (line 88) | def sentinel(request, cluster): function deployed_sentinel (line 93) | def deployed_sentinel(request): function test_discover_master (line 122) | def test_discover_master(sentinel, master_ip): function test_discover_master_error (line 128) | def test_discover_master_error(sentinel): function test_dead_pool (line 134) | def test_dead_pool(sentinel): function test_discover_master_sentinel_down (line 143) | def test_discover_master_sentinel_down(cluster, sentinel, master_ip): function test_discover_master_sentinel_timeout (line 153) | def test_discover_master_sentinel_timeout(cluster, sentinel, master_ip): function test_master_min_other_sentinels (line 163) | def test_master_min_other_sentinels(cluster, master_ip): function test_master_odown (line 174) | def test_master_odown(cluster, sentinel): function test_master_sdown (line 181) | def test_master_sdown(cluster, sentinel): function test_discover_slaves (line 188) | def test_discover_slaves(cluster, sentinel): function test_master_for (line 219) | def test_master_for(sentinel, master_ip): function test_slave_for (line 230) | def test_slave_for(cluster, sentinel): function test_slave_for_slave_not_found_error (line 239) | def test_slave_for_slave_not_found_error(cluster, sentinel): function test_slave_round_robin (line 247) | def test_slave_round_robin(cluster, sentinel, master_ip): function test_ckquorum (line 263) | def test_ckquorum(sentinel): function test_flushconfig (line 269) | def test_flushconfig(sentinel): function test_reset (line 275) | def test_reset(cluster, sentinel): function test_auto_close_pool (line 283) | def test_auto_close_pool(cluster, sentinel, method_name): function test_get_sentinels (line 308) | def test_get_sentinels(deployed_sentinel): function test_get_master_addr_by_name (line 324) | def test_get_master_addr_by_name(deployed_sentinel): function test_redis_master_usage (line 344) | def test_redis_master_usage(deployed_sentinel): function test_sentinel_commands_with_strict_redis_client (line 351) | def test_sentinel_commands_with_strict_redis_client(request): FILE: tests/test_sentinel_managed_connection.py function test_connect_retry_on_timeout_error (line 10) | def test_connect_retry_on_timeout_error(master_host): class TestSentinelManagedConnectionReadResponseTimeout (line 38) | class TestSentinelManagedConnectionReadResponseTimeout: method test_read_response_accepts_timeout_parameter (line 43) | def test_read_response_accepts_timeout_parameter(self, master_host): method test_read_response_timeout_default_is_sentinel (line 68) | def test_read_response_timeout_default_is_sentinel(self, master_host): method test_read_response_timeout_none_passed_through (line 93) | def test_read_response_timeout_none_passed_through(self, master_host): method test_read_response_timeout_zero_passed_through (line 118) | def test_read_response_timeout_zero_passed_through(self, master_host): method test_read_response_all_parameters_passed_through (line 143) | def test_read_response_all_parameters_passed_through(self, master_host): FILE: tests/test_ssl.py class TestSSL (line 18) | class TestSSL: method _set_ssl_certs (line 26) | def _set_ssl_certs(self, request): method test_ssl_with_invalid_cert (line 33) | def test_ssl_with_invalid_cert(self, request): method test_ssl_connection (line 41) | def test_ssl_connection(self, request): method test_ssl_connection_without_ssl (line 54) | def test_ssl_connection_without_ssl(self, request): method test_validating_self_signed_certificate (line 64) | def test_validating_self_signed_certificate(self, request): method test_validating_self_signed_string_certificate (line 79) | def test_validating_self_signed_string_certificate(self, request): method test_ssl_connection_tls12_custom_ciphers (line 104) | def test_ssl_connection_tls12_custom_ciphers(self, request, ssl_ciphers): method test_ssl_connection_tls12_custom_ciphers_invalid (line 118) | def test_ssl_connection_tls12_custom_ciphers_invalid(self, request): method test_ssl_connection_tls13_custom_ciphers (line 141) | def test_ssl_connection_tls13_custom_ciphers(self, request, ssl_ciphers): method _create_oscp_conn (line 158) | def _create_oscp_conn(self, request): method test_ssl_ocsp_called (line 174) | def test_ssl_ocsp_called(self, request): method test_ssl_ocsp_called_withcrypto (line 182) | def test_ssl_ocsp_called_withcrypto(self, request): method test_valid_ocsp_cert_http (line 190) | def test_valid_ocsp_cert_http(self): method test_revoked_ocsp_certificate (line 202) | def test_revoked_ocsp_certificate(self): method test_unauthorized_ocsp (line 215) | def test_unauthorized_ocsp(self): method test_ocsp_not_present_in_response (line 227) | def test_ocsp_not_present_in_response(self): method test_unauthorized_then_direct (line 240) | def test_unauthorized_then_direct(self): method test_mock_ocsp_staple (line 254) | def test_mock_ocsp_staple(self, request): method test_cert_reqs_none_with_check_hostname (line 313) | def test_cert_reqs_none_with_check_hostname(self, request): method test_ssl_verify_flags_applied_to_context (line 336) | def test_ssl_verify_flags_applied_to_context(self, request): method test_ssl_authenticate_with_client_cert (line 434) | def test_ssl_authenticate_with_client_cert(self, request, r): FILE: tests/test_timeseries.py function decoded_r (line 19) | def decoded_r(request, stack_url): function client (line 27) | def client(decoded_r): function test_create (line 33) | def test_create(client): function test_create_duplicate_policy (line 52) | def test_create_duplicate_policy(client): function test_alter (line 67) | def test_alter(client): function test_alter_duplicate_policy_prior_redis_8 (line 90) | def test_alter_duplicate_policy_prior_redis_8(client): function test_alter_duplicate_policy (line 106) | def test_alter_duplicate_policy(client): function test_add (line 120) | def test_add(client): function test_add_on_duplicate (line 144) | def test_add_on_duplicate(client): function test_madd (line 174) | def test_madd(client): function test_madd_missing_timeseries (line 180) | def test_madd_missing_timeseries(client): function test_incrby_decrby (line 189) | def test_incrby_decrby(client): function test_create_and_delete_rule (line 218) | def test_create_and_delete_rule(client): function test_del_range (line 243) | def test_del_range(client): function test_range (line 257) | def test_range(client): function test_range_advanced (line 273) | def test_range_advanced(client): function test_range_latest (line 303) | def test_range_latest(client: redis.Redis): function test_range_bucket_timestamp (line 328) | def test_range_bucket_timestamp(client: redis.Redis): function test_range_empty (line 362) | def test_range_empty(client: redis.Redis): function test_rev_range (line 407) | def test_rev_range(client): function test_revrange_latest (line 456) | def test_revrange_latest(client: redis.Redis): function test_revrange_bucket_timestamp (line 475) | def test_revrange_bucket_timestamp(client: redis.Redis): function test_revrange_empty (line 509) | def test_revrange_empty(client: redis.Redis): function test_mrange (line 554) | def test_mrange(client): function test_multi_range_advanced (line 604) | def test_multi_range_advanced(client): function test_mrange_latest (line 718) | def test_mrange_latest(client: redis.Redis): function test_multi_reverse_range (line 748) | def test_multi_reverse_range(client): function test_mrevrange_latest (line 867) | def test_mrevrange_latest(client: redis.Redis): function test_get (line 895) | def test_get(client): function test_get_latest (line 908) | def test_get_latest(client: redis.Redis): function test_mget (line 925) | def test_mget(client): function test_mget_latest (line 962) | def test_mget_latest(client: redis.Redis): function test_info (line 978) | def test_info(client): function test_info_duplicate_policy (line 990) | def test_info_duplicate_policy(client): function test_info_duplicate_policy_prior_redis_8 (line 1007) | def test_info_duplicate_policy_prior_redis_8(client): function test_query_index (line 1023) | def test_query_index(client): function test_pipeline (line 1032) | def test_pipeline(client): function test_uncompressed (line 1050) | def test_uncompressed(client): function test_create_with_insertion_filters (line 1066) | def test_create_with_insertion_filters(client): function test_create_with_insertion_filters_other_duplicate_policy (line 1090) | def test_create_with_insertion_filters_other_duplicate_policy(client): function test_alter_with_insertion_filters (line 1112) | def test_alter_with_insertion_filters(client): function test_add_with_insertion_filters (line 1137) | def test_add_with_insertion_filters(client): function test_incrby_with_insertion_filters (line 1155) | def test_incrby_with_insertion_filters(client): function test_decrby_with_insertion_filters (line 1178) | def test_decrby_with_insertion_filters(client): function test_madd_with_insertion_filters (line 1201) | def test_madd_with_insertion_filters(client): function test_range_with_count_nan_count_all_aggregators (line 1229) | def test_range_with_count_nan_count_all_aggregators(client): function test_rev_range_with_count_nan_count_all_aggregators (line 1273) | def test_rev_range_with_count_nan_count_all_aggregators(client): function test_mrange_with_count_nan_count_all_aggregators (line 1317) | def test_mrange_with_count_nan_count_all_aggregators(client): function test_mrevrange_with_count_nan_count_all_aggregators (line 1380) | def test_mrevrange_with_count_nan_count_all_aggregators(client): FILE: tests/test_utils.py function test_compare_versions (line 34) | def test_compare_versions(version1, version2, expected_res): function redis_server_time (line 38) | def redis_server_time(client): class TestDeprecatedFunction (line 45) | class TestDeprecatedFunction: method test_sync_function_warns (line 46) | def test_sync_function_warns(self): method test_preserves_function_metadata (line 61) | def test_preserves_function_metadata(self): class TestDeprecatedArgs (line 72) | class TestDeprecatedArgs: method test_sync_function_warns_on_deprecated_arg (line 73) | def test_sync_function_warns_on_deprecated_arg(self): method test_sync_function_no_warning_on_allowed_arg (line 86) | def test_sync_function_no_warning_on_allowed_arg(self): method test_wildcard_warns_all_args (line 97) | def test_wildcard_warns_all_args(self): class TestExperimentalMethod (line 111) | class TestExperimentalMethod: method test_sync_function_warns (line 112) | def test_sync_function_warns(self): class TestExperimentalArgs (line 127) | class TestExperimentalArgs: method test_sync_function_warns_on_experimental_arg (line 128) | def test_sync_function_warns_on_experimental_arg(self): method test_no_warning_when_no_args_provided (line 141) | def test_no_warning_when_no_args_provided(self): FILE: tests/test_vsets.py function d_client (line 15) | def d_client(request): function client (line 23) | def client(request): function test_add_elem_with_values (line 31) | def test_add_elem_with_values(d_client): function test_add_elem_with_vector (line 47) | def test_add_elem_with_vector(d_client): function test_add_elem_reduced_dim (line 59) | def test_add_elem_reduced_dim(d_client): function test_add_elem_cas (line 69) | def test_add_elem_cas(d_client): function test_add_elem_no_quant (line 79) | def test_add_elem_no_quant(d_client): function test_add_elem_bin_quant (line 94) | def test_add_elem_bin_quant(d_client): function test_add_elem_q8_quant (line 110) | def test_add_elem_q8_quant(d_client): function test_add_elem_ef (line 126) | def test_add_elem_ef(d_client): function test_add_elem_with_attr (line 142) | def test_add_elem_with_attr(d_client): function test_add_elem_with_numlinks (line 189) | def test_add_elem_with_numlinks(d_client): function test_vsim_count (line 214) | def test_vsim_count(d_client): function test_vsim_with_scores (line 248) | def test_vsim_with_scores(d_client): function test_vsim_with_attribs_attribs_set (line 268) | def test_vsim_with_attribs_attribs_set(d_client): function test_vsim_with_scores_and_attribs_attribs_set (line 290) | def test_vsim_with_scores_and_attribs_attribs_set(d_client): function test_vsim_with_attribs_attribs_not_set (line 323) | def test_vsim_with_attribs_attribs_not_set(d_client): function test_vsim_with_different_vector_input_types (line 342) | def test_vsim_with_different_vector_input_types(d_client): function test_vsim_unexisting (line 375) | def test_vsim_unexisting(d_client): function test_vsim_with_filter (line 387) | def test_vsim_with_filter(d_client): function test_vsim_truth_no_thread_enabled (line 455) | def test_vsim_truth_no_thread_enabled(d_client): function test_vsim_epsilon (line 486) | def test_vsim_epsilon(d_client): function test_vdim (line 501) | def test_vdim(d_client): function test_vcard (line 517) | def test_vcard(d_client): function test_vrem (line 531) | def test_vrem(d_client): function test_vemb_bin_quantization (line 554) | def test_vemb_bin_quantization(d_client): function test_vemb_q8_quantization (line 573) | def test_vemb_q8_quantization(d_client): function test_vemb_no_quantization (line 588) | def test_vemb_no_quantization(d_client): function test_vemb_default_quantization (line 603) | def test_vemb_default_quantization(d_client): function test_vemb_fp32_quantization (line 618) | def test_vemb_fp32_quantization(d_client): function test_vemb_unexisting (line 635) | def test_vemb_unexisting(d_client): function test_vlinks (line 646) | def test_vlinks(d_client): function test_vinfo (line 711) | def test_vinfo(d_client): function test_vset_vget_attributes (line 736) | def test_vset_vget_attributes(d_client): function test_vrandmember (line 794) | def test_vrandmember(d_client): function test_8_2_new_vset_features_without_decoding_responces (line 846) | def test_8_2_new_vset_features_without_decoding_responces(client): function test_vset_commands_without_decoding_responces (line 879) | def test_vset_commands_without_decoding_responces(client): function _to_fp32_blob_array (line 956) | def _to_fp32_blob_array(float_array): function _validate_quantization (line 967) | def _validate_quantization(original, quantized, tolerance=0.1): function test_vrange_basic (line 979) | def test_vrange_basic(d_client): function test_vrange_with_count (line 1001) | def test_vrange_with_count(d_client): function test_vrange_iteration (line 1029) | def test_vrange_iteration(d_client): function test_vrange_empty_key (line 1052) | def test_vrange_empty_key(d_client): function test_vrange_special_characters (line 1062) | def test_vrange_special_characters(d_client): function test_vrange_single_element (line 1078) | def test_vrange_single_element(d_client): function test_vrange_lexicographical_order (line 1093) | def test_vrange_lexicographical_order(d_client): function test_vrange_numeric_strings (line 1107) | def test_vrange_numeric_strings(d_client):