class_docstr: Parses Redis commands to get command keys.
  
  COMMAND output is used to determine key locations.
  Commands that do not have a predefined key location are flagged with 'movablekeys',
  and these commands' keys are determined by the command 'COMMAND GETKEYS'.
  
  NOTE: Due to a bug in redis<7.0, this does not work properly
  for EVAL or EVALSHA when the `numkeys` arg is 0.
   - issue: https://github.com/redis/redis/issues/9493
   - fix: https://github.com/redis/redis/pull/9733
  
  So, don't use this with EVAL or EVALSHA.
code: def __init__(self) -> None:
      self.commands: Dict[str, Union[int, Dict[str, Any]]] = {}
  
file_path: catboost/contrib/python/redis/py3/redis/_parsers/commands.py
imports: from typing import TYPE_CHECKING, Any, Dict, Optional, Tuple, Union
  from redis.exceptions import RedisError, ResponseError
  from redis.utils import str_if_bytes
label_desc: Use image node_id 1 to create a new AsyncCommandsParser object from inherited base classes: AbstractCommandsParser with example: obj = AsyncCommandsParser()