diff --git a/resources/functionMap.php b/resources/functionMap.php
index 2b31468b37..21ece8509e 100644
--- a/resources/functionMap.php
+++ b/resources/functionMap.php
@@ -9393,181 +9393,235 @@
 'RedisArray::_target' => ['string', 'key'=>'string'],
 'RedisCluster::__construct' => ['void', 'name'=>'string|null', 'seeds='=>'string[]|null', 'timeout='=>'int|float', 'read_timeout='=>'int|float', 'persistent='=>'bool', 'auth='=>'mixed', 'context='=>'array|null'],
 'RedisCluster::_masters' => ['array'],
-'RedisCluster::_prefix' => ['string', 'value'=>'mixed'],
-'RedisCluster::_serialize' => ['mixed', 'value'=>'mixed'],
+'RedisCluster::_prefix' => ['bool|string', 'key'=>'string'],
+'RedisCluster::_serialize' => ['bool|string', 'value'=>'mixed'],
 'RedisCluster::_unserialize' => ['mixed', 'value'=>'string'],
-'RedisCluster::append' => ['int', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::bgrewriteaof' => ['bool', 'nodeParams'=>'string'],
-'RedisCluster::bgsave' => ['bool', 'nodeParams'=>'string'],
-'RedisCluster::bitCount' => ['int', 'key'=>'string'],
-'RedisCluster::bitOp' => ['int', 'operation'=>'string', 'retKey'=>'string', 'key1'=>'string', 'key2'=>'string', 'key3='=>'string'],
-'RedisCluster::bitpos' => ['int', 'key'=>'string', 'bit'=>'int', 'start='=>'int', 'end='=>'int'],
-'RedisCluster::blPop' => ['array', 'keys'=>'array', 'timeout'=>'int'],
-'RedisCluster::brPop' => ['array', 'keys'=>'array', 'timeout'=>'int'],
-'RedisCluster::brpoplpush' => ['string', 'srcKey'=>'string', 'dstKey'=>'string', 'timeout'=>'int'],
+'RedisCluster::append' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'string'],
+'RedisCluster::bgrewriteaof' => ['RedisCluster|bool', 'key_or_address'=>'string|array'],
+'RedisCluster::bgsave' => ['RedisCluster|bool', 'key_or_address'=>'string|array'],
+'RedisCluster::bitCount' => ['RedisCluster|int|false', 'key'=>'string', 'start='=>'int', 'end='=>'int', 'bybit='=>'bool'],
+'RedisCluster::bitOp' => ['RedisCluster|int|false', 'operation'=>'string', 'deskey'=>'string', 'srckey'=>'string', '...other_keys='=>'string'],
+'RedisCluster::bitpos' => ['RedisCluster|int|false', 'key'=>'string', 'bit'=>'bool', 'start='=>'int', 'end='=>'int', 'bybit='=>'bool'],
+'RedisCluster::blPop' => ['RedisCluster|mixed[]|null|false', 'key'=>'string|string[]', 'timeout_or_key'=>'string|float|int', '...extra_args='=>'mixed'],
+'RedisCluster::brPop' => ['RedisCluster|mixed[]|null|false', 'key'=>'string|string[]', 'timeout_or_key'=>'string|float|int', '...extra_args='=>'mixed'],
+'RedisCluster::brpoplpush' => ['RedisCluster|string|false', 'srckey'=>'string', 'deskey'=>'string', 'timeout'=>'int|float'],
 'RedisCluster::clearLastError' => ['bool'],
-'RedisCluster::client' => ['', 'nodeParams'=>'string', 'subCmd'=>'', 'args'=>''],
-'RedisCluster::close' => [''],
-'RedisCluster::cluster' => ['mixed', 'nodeParams'=>'string', 'command'=>'string', 'arguments'=>'mixed'],
-'RedisCluster::command' => ['mixed'],
-'RedisCluster::config' => ['array', 'nodeParams'=>'string', 'operation'=>'string', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::dbSize' => ['int', 'nodeParams'=>'string'],
-'RedisCluster::decr' => ['int', 'key'=>'string'],
-'RedisCluster::decrBy' => ['int', 'key'=>'string', 'value'=>'int'],
-'RedisCluster::del' => ['int', 'key1'=>'int|string', 'key2='=>'int|string', 'key3='=>'int|string'],
-'RedisCluster::discard' => [''],
-'RedisCluster::dump' => ['string', 'key'=>'string'],
-'RedisCluster::echo' => ['mixed', 'nodeParams'=>'string', 'msg'=>'string'],
-'RedisCluster::eval' => ['mixed', 'script'=>'', 'args='=>'', 'numKeys='=>''],
-'RedisCluster::evalSha' => ['mixed', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'],
-'RedisCluster::exec' => ['array|void'],
-'RedisCluster::exists' => ['bool', 'key'=>'string'],
-'RedisCluster::expire' => ['bool', 'key'=>'string', 'ttl'=>'int'],
-'RedisCluster::expireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'],
-'RedisCluster::flushAll' => ['bool', 'nodeParams'=>'string'],
-'RedisCluster::flushDB' => ['bool', 'nodeParams'=>'string'],
-'RedisCluster::geoAdd' => ['', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'member'=>'string'],
-'RedisCluster::geoDist' => ['', 'key'=>'string', 'member1'=>'string', 'member2'=>'string', 'unit='=>'string'],
-'RedisCluster::geohash' => ['', 'key'=>'', 'member1'=>'', 'member2='=>'mixed', 'memberN='=>'mixed'],
-'RedisCluster::geopos' => ['', 'key'=>'', 'member1'=>'', 'member2='=>'mixed', 'memberN='=>'mixed'],
-'RedisCluster::geoRadius' => ['', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'radius'=>'float', 'radiusUnit'=>'string', 'options'=>'array'],
-'RedisCluster::geoRadiusByMember' => ['', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'radiusUnit'=>'string', 'options'=>'array'],
-'RedisCluster::get' => ['bool|string', 'key'=>'string'],
-'RedisCluster::getBit' => ['int', 'key'=>'string', 'offset'=>'int'],
-'RedisCluster::getLastError' => ['string'],
+'RedisCluster::client' => ['mixed', 'key_or_address'=>'string|array', 'opt'=>'string', '...args='=>'mixed'],
+'RedisCluster::close' => ['bool'],
+'RedisCluster::cluster' => ['mixed', 'key_or_address'=>'string|array', 'command'=>'string', '...extra_args='=>'mixed'],
+'RedisCluster::command' => ['mixed', 'key_or_address'=>'string|array', 'opt='=>'?string', '...args='=>'mixed'],
+'RedisCluster::config' => ['mixed', 'key_or_address'=>'string|array', 'operation'=>'string', 'key_or_settings='=>'array<string, mixed>|string[]|string|null', 'value='=>'?string'],
+'RedisCluster::dbSize' => ['RedisCluster|int|false', 'key_or_address'=>'string|array'],
+'RedisCluster::decr' => ['RedisCluster|int|false', 'key'=>'string', 'by='=>'int'],
+'RedisCluster::decrBy' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'int'],
+'RedisCluster::del' => ['RedisCluster|int|false', 'key'=>'string[]|string', '...other_keys='=>'string'],
+'RedisCluster::discard' => ['RedisCluster|bool', 'key_or_address'=>'string|array'],
+'RedisCluster::dump' => ['RedisCluster|string', 'key'=>'string'],
+'RedisCluster::echo' => ['RedisCluster|string|false', 'key_or_address'=>'string|array', 'str'=>'string'],
+'RedisCluster::eval' => ['mixed', 'script'=>'string', 'args='=>'array', 'num_keys='=>'int'],
+'RedisCluster::evalSha' => ['mixed', 'sha1'=>'string', 'args='=>'array', 'num_keys='=>'int'],
+'RedisCluster::exec' => ['RedisCluster|mixed[]|false', 'key_or_address'=>'string|array'],
+'RedisCluster::exists' => ['RedisCluster|int|bool', 'keys'=>'string|string[]', '...other_keys='=>'string'],
+'RedisCluster::expire' => ['RedisCluster|bool', 'key'=>'string', 'timeout'=>'int', 'mode='=>'?string'],
+'RedisCluster::expireAt' => ['RedisCluster|bool', 'key'=>'string', 'timestamp'=>'int', 'mode='=>'?string'],
+'RedisCluster::flushAll' => ['RedisCluster|bool', 'key_or_address'=>'string|array', 'sync='=>'?bool'],
+'RedisCluster::flushDB' => ['RedisCluster|bool', 'key_or_address'=>'string|array', 'sync='=>'?bool'],
+'RedisCluster::geoAdd' => ['RedisCluster|int|false', 'key'=>'string', 'lng'=>'float', 'lat'=>'float', 'member'=>'string', '...other_triples_and_options='=>'mixed'],
+'RedisCluster::geoDist' => ['RedisCluster|float|false', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'],
+'RedisCluster::geohash' => ['RedisCluster|array<int,string>|false', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'],
+'RedisCluster::geopos' => ['RedisCluster|array<int,array{0:string,1:string}>|false', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'],
+'RedisCluster::geoRadius' => ['__benevolent<RedisCluster|array<int,mixed>>', 'key'=>'string', 'lng'=>'float', 'lat'=>'float', 'radius'=>'float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::geoRadiusByMember' => ['__benevolent<RedisCluster|array<int,mixed>>', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::get' => ['mixed', 'key'=>'string'],
+'RedisCluster::getBit' => ['RedisCluster|int|false', 'key'=>'string', 'idx'=>'int'],
+'RedisCluster::getLastError' => ['?string'],
 'RedisCluster::getMode' => ['int'],
-'RedisCluster::getOption' => ['int', 'name'=>'int'],
-'RedisCluster::getRange' => ['string', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
-'RedisCluster::getSet' => ['string', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::hDel' => ['int', 'key'=>'string', 'hashKey1'=>'string', 'hashKey2='=>'string', 'hashKeyN='=>'string'],
-'RedisCluster::hExists' => ['bool', 'key'=>'string', 'hashKey'=>'string'],
-'RedisCluster::hGet' => ['string', 'key'=>'string', 'hashKey'=>'string'],
-'RedisCluster::hGetAll' => ['array', 'key'=>'string'],
-'RedisCluster::hIncrBy' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'int'],
-'RedisCluster::hIncrByFloat' => ['float', 'key'=>'string', 'field'=>'string', 'increment'=>'float'],
-'RedisCluster::hKeys' => ['array', 'key'=>'string'],
-'RedisCluster::hLen' => ['int', 'key'=>'string'],
-'RedisCluster::hMGet' => ['array', 'key'=>'string', 'hashKeys'=>'array'],
-'RedisCluster::hMSet' => ['bool', 'key'=>'string', 'hashKeys'=>'array'],
-'RedisCluster::hScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'],
-'RedisCluster::hSet' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'],
-'RedisCluster::hSetNx' => ['bool', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'],
-'RedisCluster::hVals' => ['array', 'key'=>'string'],
-'RedisCluster::incr' => ['int', 'key'=>'string'],
-'RedisCluster::incrBy' => ['int', 'key'=>'string', 'value'=>'int'],
-'RedisCluster::incrByFloat' => ['float', 'key'=>'string', 'increment'=>'float'],
-'RedisCluster::info' => ['string', 'option='=>'string'],
-'RedisCluster::keys' => ['array', 'pattern'=>'string'],
-'RedisCluster::lastSave' => ['int', 'nodeParams'=>'string'],
-'RedisCluster::lGet' => ['', 'key'=>'string', 'index'=>'int'],
-'RedisCluster::lIndex' => ['string', 'key'=>'string', 'index'=>'int'],
-'RedisCluster::lInsert' => ['int', 'key'=>'string', 'position'=>'int', 'pivot'=>'string', 'value'=>'string'],
-'RedisCluster::lLen' => ['int', 'key'=>'string'],
-'RedisCluster::lPop' => ['string', 'key'=>'string'],
-'RedisCluster::lPush' => ['int', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'],
-'RedisCluster::lPushx' => ['int', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::lRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
-'RedisCluster::lRem' => ['int', 'key'=>'string', 'value'=>'string', 'count'=>'int'],
-'RedisCluster::lSet' => ['bool', 'key'=>'string', 'index'=>'int', 'value'=>'string'],
-'RedisCluster::lTrim' => ['array', 'key'=>'string', 'start'=>'int', 'stop'=>'int'],
-'RedisCluster::mget' => ['array', 'array'=>'array'],
-'RedisCluster::mset' => ['bool', 'array'=>'array'],
-'RedisCluster::msetnx' => ['int', 'array'=>'array'],
-'RedisCluster::multi' => ['Redis', 'mode='=>'int'],
-'RedisCluster::object' => ['string', 'string='=>'string', 'key='=>'string'],
-'RedisCluster::persist' => ['bool', 'key'=>'string'],
-'RedisCluster::pExpire' => ['bool', 'key'=>'string', 'ttl'=>'int'],
-'RedisCluster::pExpireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'],
-'RedisCluster::pfAdd' => ['bool', 'key'=>'string', 'elements'=>'array'],
-'RedisCluster::pfCount' => ['int', 'key'=>'string'],
-'RedisCluster::pfMerge' => ['bool', 'destKey'=>'string', 'sourceKeys'=>'array'],
-'RedisCluster::ping' => ['string', 'nodeParams'=>'string'],
-'RedisCluster::psetex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'],
-'RedisCluster::psubscribe' => ['mixed', 'patterns'=>'array', 'callback'=>'string'],
-'RedisCluster::pttl' => ['int', 'key'=>'string'],
-'RedisCluster::publish' => ['int', 'channel'=>'string', 'message'=>'string'],
-'RedisCluster::pubsub' => ['array', 'nodeParams'=>'string', 'keyword'=>'string', '...argument='=>'string'],
-'RedisCluster::punSubscribe' => ['', 'channels'=>'', 'callback'=>''],
-'RedisCluster::randomKey' => ['string', 'nodeParams'=>'string'],
-'RedisCluster::rawCommand' => ['mixed', 'nodeParams'=>'string', 'command'=>'string', 'arguments'=>'mixed'],
-'RedisCluster::rename' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'],
-'RedisCluster::renameNx' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'],
-'RedisCluster::restore' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'],
-'RedisCluster::role' => ['array', 'nodeParams'=>'string'],
-'RedisCluster::rPop' => ['string', 'key'=>'string'],
-'RedisCluster::rpoplpush' => ['string', 'srcKey'=>'string', 'dstKey'=>'string'],
-'RedisCluster::rPush' => ['int', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'],
-'RedisCluster::rPushx' => ['int', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::sAdd' => ['int', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'],
-'RedisCluster::sAddArray' => ['int', 'key'=>'string', 'valueArray'=>'array'],
-'RedisCluster::save' => ['bool', 'nodeParams'=>'string'],
-'RedisCluster::scan' => ['array', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'],
-'RedisCluster::sCard' => ['int', 'key'=>'string'],
-'RedisCluster::script' => ['mixed', 'nodeParams'=>'string', 'command'=>'string', 'script'=>'string'],
-'RedisCluster::sDiff' => ['list<string>', 'key1'=>'string', 'key2'=>'string', '...other_keys='=>'string'],
-'RedisCluster::sDiffStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'],
-'RedisCluster::set' => ['bool', 'key'=>'string', 'value'=>'string', 'timeout='=>'array|int'],
-'RedisCluster::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'bool|int'],
-'RedisCluster::setex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'],
-'RedisCluster::setnx' => ['bool', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::setOption' => ['bool', 'name'=>'int', 'value'=>'mixed'],
-'RedisCluster::setRange' => ['string', 'key'=>'string', 'offset'=>'int', 'value'=>'string'],
-'RedisCluster::sInter' => ['list<string>', 'key'=>'string', '...other_keys='=>'string'],
-'RedisCluster::sInterStore' => ['int', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'],
-'RedisCluster::sIsMember' => ['bool', 'key'=>'string', 'value'=>'string'],
-'RedisCluster::slowLog' => ['', 'nodeParams'=>'string', 'command'=>'string', 'argument'=>'mixed', '...other_arguments='=>'mixed'],
-'RedisCluster::sMembers' => ['list<string>', 'key'=>'string'],
-'RedisCluster::sMove' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string', 'member'=>'string'],
-'RedisCluster::sort' => ['array', 'key'=>'string', 'option='=>'array'],
-'RedisCluster::sPop' => ['string', 'key'=>'string'],
-'RedisCluster::sRandMember' => ['array|string', 'key'=>'string', 'count='=>'int'],
-'RedisCluster::sRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'],
-'RedisCluster::sScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'null', 'count='=>'int'],
-'RedisCluster::strlen' => ['0|positive-int', 'key'=>'string'],
-'RedisCluster::subscribe' => ['mixed', 'channels'=>'array', 'callback'=>'string'],
-'RedisCluster::sUnion' => ['array', 'key1'=>'string', '...other_keys='=>'string'],
-'RedisCluster::sUnionStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'],
-'RedisCluster::time' => ['array', 'nodeParams'=>'string'],
-'RedisCluster::ttl' => ['int', 'key'=>'string'],
-'RedisCluster::type' => ['int', 'key'=>'string'],
-'RedisCluster::unlink' => ['int', 'key'=>'string', '...other_keys='=>'string'],
-'RedisCluster::unSubscribe' => ['', 'channels'=>'', '...other_channels='=>''],
-'RedisCluster::unwatch' => [''],
-'RedisCluster::watch' => ['void', 'key'=>'string', '...other_keys='=>'string'],
-'RedisCluster::xack' => ['', 'str_key'=>'string', 'str_group'=>'string', 'arr_ids'=>'array'],
-'RedisCluster::xadd' => ['', 'str_key'=>'string', 'str_id'=>'string', 'arr_fields'=>'array', 'i_maxlen='=>'', 'boo_approximate='=>''],
-'RedisCluster::xclaim' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_consumer'=>'string', 'i_min_idle'=>'', 'arr_ids'=>'array', 'arr_opts='=>'array'],
-'RedisCluster::xdel' => ['', 'str_key'=>'string', 'arr_ids'=>'array'],
-'RedisCluster::xgroup' => ['', 'str_operation'=>'string', 'str_key='=>'string', 'str_arg1='=>'', 'str_arg2='=>'', 'str_arg3='=>''],
-'RedisCluster::xinfo' => ['', 'str_cmd'=>'string', 'str_key='=>'string', 'str_group='=>'string'],
-'RedisCluster::xlen' => ['', 'key'=>''],
-'RedisCluster::xpending' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_start='=>'', 'str_end='=>'', 'i_count='=>'', 'str_consumer='=>'string'],
-'RedisCluster::xrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''],
-'RedisCluster::xread' => ['', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''],
-'RedisCluster::xreadgroup' => ['', 'str_group'=>'string', 'str_consumer'=>'string', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''],
-'RedisCluster::xrevrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''],
-'RedisCluster::xtrim' => ['', 'str_key'=>'string', 'i_maxlen'=>'', 'boo_approximate='=>''],
-'RedisCluster::zAdd' => ['int', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'],
-'RedisCluster::zCard' => ['int', 'key'=>'string'],
-'RedisCluster::zCount' => ['int', 'key'=>'string', 'start'=>'string', 'end'=>'string'],
-'RedisCluster::zIncrBy' => ['float', 'key'=>'string', 'value'=>'float', 'member'=>'string'],
-'RedisCluster::zInterStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'],
-'RedisCluster::zLexCount' => ['int', 'key'=>'string', 'min'=>'int', 'max'=>'int'],
-'RedisCluster::zRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscores='=>'bool'],
-'RedisCluster::zRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'],
-'RedisCluster::zRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'],
-'RedisCluster::zRank' => ['int', 'key'=>'string', 'member'=>'string'],
-'RedisCluster::zRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'],
-'RedisCluster::zRemRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int'],
-'RedisCluster::zRemRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
-'RedisCluster::zRemRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'],
-'RedisCluster::zRevRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'],
-'RedisCluster::zRevRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'],
-'RedisCluster::zRevRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'],
-'RedisCluster::zRevRank' => ['int', 'key'=>'string', 'member'=>'string'],
-'RedisCluster::zScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'],
-'RedisCluster::zScore' => ['float', 'key'=>'string', 'member'=>'string'],
-'RedisCluster::zUnionStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'],
+'RedisCluster::getOption' => ['int', 'option'=>'int'],
+'RedisCluster::getRange' => ['RedisCluster|string|false', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
+'RedisCluster::getSet' => ['RedisCluster|string|false', 'key'=>'string', 'value'=>'mixed'],
+'RedisCluster::hDel' => ['RedisCluster|int|false', 'key'=>'string', 'field'=>'string', '...other_fields='=>'string'],
+'RedisCluster::hExists' => ['RedisCluster|bool', 'key'=>'string', 'field'=>'string'],
+'RedisCluster::hGet' => ['RedisCluster|string|false', 'key'=>'string', 'member'=>'string'],
+'RedisCluster::hGetAll' => ['RedisCluster|string[]|false', 'key'=>'string'],
+'RedisCluster::hIncrBy' => ['RedisCluster|int|false', 'key'=>'string', 'field'=>'string', 'value'=>'int'],
+'RedisCluster::hIncrByFloat' => ['RedisCluster|float|false', 'key'=>'string', 'field'=>'string', 'value'=>'float'],
+'RedisCluster::hKeys' => ['RedisCluster|string[]|false', 'key'=>'string'],
+'RedisCluster::hLen' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::hMGet' => ['RedisCluster|array<string, mixed>|false', 'key'=>'string', 'fields'=>'string[]'],
+'RedisCluster::hMSet' => ['RedisCluster|bool', 'key'=>'string', 'fieldvals'=>'array'],
+'RedisCluster::hScan' => ['RedisCluster|array<string, mixed>|bool', 'key'=>'string', '&iterator'=>'?int', 'pattern='=>'?string', 'count='=>'int'],
+'RedisCluster::hSet' => ['RedisCluster|int|false', 'key'=>'string', 'member'=>'string', 'value'=>'mixed'],
+'RedisCluster::hSetNx' => ['RedisCluster|bool', 'key'=>'string', 'field'=>'string', 'value'=>'string'],
+'RedisCluster::hVals' => ['RedisCluster|string[]|false', 'key'=>'string'],
+'RedisCluster::incr' => ['RedisCluster|int|false', 'key'=>'string', 'by='=>'int'],
+'RedisCluster::incrBy' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'int'],
+'RedisCluster::incrByFloat' => ['RedisCluster|float|false', 'key'=>'string', 'value'=>'float'],
+'RedisCluster::info' => ['RedisCluster|array<string, mixed>|false', 'key_or_address'=>'string|array', '...sections='=>'string'],
+'RedisCluster::keys' => ['RedisCluster|array<int, string>|false', 'pattern'=>'string'],
+'RedisCluster::lastSave' => ['RedisCluster|int|false', 'key_or_address'=>'string|array'],
+'RedisCluster::lGet' => ['RedisCluster|string|bool', 'key'=>'string', 'index'=>'int'],
+'RedisCluster::lIndex' => ['null|string|false', 'key'=>'string', 'index'=>'int'],
+'RedisCluster::lInsert' => ['RedisCluster|int|false', 'key'=>'string', 'pos'=>'int', 'pivot'=>'mixed', 'value'=>'mixed'],
+'RedisCluster::lLen' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::lPop' => ['RedisCluster|bool|string|mixed[]', 'key'=>'string', 'count='=>'int'],
+'RedisCluster::lPush' => ['RedisCluster|int|false', 'key'=>'string', '...elements='=>'mixed'],
+'RedisCluster::lPushx' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'mixed'],
+'RedisCluster::lRange' => ['RedisCluster|mixed[]|false', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
+'RedisCluster::lRem' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'mixed', 'count='=>'int'],
+'RedisCluster::lSet' => ['RedisCluster|bool', 'key'=>'string', 'index'=>'int', 'value'=>'mixed'],
+'RedisCluster::lTrim' => ['RedisCluster|bool', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
+'RedisCluster::mget' => ['RedisCluster|array<string, mixed>|false', 'keys'=>'string[]'],
+'RedisCluster::mset' => ['RedisCluster|bool', 'key_values'=>'array<string, mixed>'],
+'RedisCluster::msetnx' => ['RedisCluster|bool', 'key_values'=>'array<string, mixed>'],
+'RedisCluster::multi' => ['RedisCluster|bool', 'key_or_address'=>'string|array', 'value='=>'int'],
+'RedisCluster::object' => ['RedisCluster|int|string|false', 'subcommand'=>'string', 'key'=>'string'],
+'RedisCluster::persist' => ['RedisCluster|bool', 'key'=>'string'],
+'RedisCluster::pExpire' => ['RedisCluster|bool', 'key'=>'string', 'timeout'=>'int', 'mode='=>'?string'],
+'RedisCluster::pExpireAt' => ['RedisCluster|bool', 'key'=>'string', 'timestamp'=>'int', 'mode='=>'?string'],
+'RedisCluster::pfAdd' => ['RedisCluster|int', 'key'=>'string', 'elements'=>'array'],
+'RedisCluster::pfCount' => ['RedisCluster|int|false', 'key_or_keys'=>'string[]|string'],
+'RedisCluster::pfMerge' => ['RedisCluster|bool', 'dst'=>'string', 'srckeys'=>'string[]'],
+'RedisCluster::ping' => ['RedisCluster|string|bool', 'key_or_address'=>'string|array', 'message='=>'?string'],
+'RedisCluster::psetex' => ['RedisCluster|bool', 'key'=>'string', 'expire'=>'int', 'value'=>'mixed'],
+'RedisCluster::psubscribe' => ['void', 'patterns'=>'string[]', 'callback'=>'callable'],
+'RedisCluster::pttl' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::publish' => ['RedisCluster|int|false', 'channel'=>'string', 'message'=>'string'],
+'RedisCluster::pubsub' => ['array|int', 'key_or_address'=>'string|array', 'command'=>'string', 'arg'=>'array|string'],
+'RedisCluster::punSubscribe' => ['bool|array', 'patterns='=>'string[]'],
+'RedisCluster::randomKey' => ['RedisCluster|string|false', 'key_or_address'=>'string|array'],
+'RedisCluster::rawCommand' => ['mixed', 'key_or_address'=>'string|array', 'command'=>'string', '...args='=>'mixed'],
+'RedisCluster::rename' => ['RedisCluster|bool', 'old_name'=>'string', 'new_name'=>'string'],
+'RedisCluster::renameNx' => ['RedisCluster|bool', 'old_name'=>'string', 'new_name'=>'string'],
+'RedisCluster::restore' => ['RedisCluster|bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string', 'options='=>'?array{ABSTTL?:bool,REPLACE?:bool,IDLETIME?:int,FREQ?:int}'],
+'RedisCluster::role' => ['mixed', 'key_or_address'=>'string|array'],
+'RedisCluster::rPop' => ['RedisCluster|array<string, mixed>|string|bool', 'key'=>'string', 'count='=>'int'],
+'RedisCluster::rpoplpush' => ['RedisCluster|string|false', 'srckey'=>'string', 'dstkey'=>'string'],
+'RedisCluster::rPush' => ['RedisCluster|int|false', 'key'=>'string', '...elements='=>'mixed'],
+'RedisCluster::rPushx' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'mixed'],
+'RedisCluster::sAdd' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'mixed', '...other_values='=>'string'],
+'RedisCluster::sAddArray' => ['RedisCluster|int|false', 'key'=>'string', 'values'=>'array'],
+'RedisCluster::save' => ['RedisCluster|bool', 'key_or_address'=>'string|array'],
+'RedisCluster::scan' => ['array<int,string>|false', 'key_or_address'=>'string|array', '&iterator'=>'?int', 'pattern='=>'?string', 'count='=>'?int', 'type='=>'?string'],
+'RedisCluster::sCard' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::script' => ['mixed', 'key_or_address'=>'string|array', 'command'=>'string', '...args='=>'mixed'],
+'RedisCluster::sDiff' => ['RedisCluster|list<string>|false', 'key'=>'string', '...other_keys='=>'string'],
+'RedisCluster::sDiffStore' => ['RedisCluster|int|false', 'dst'=>'string', 'key'=>'string', '...other_keys='=>'string'],
+'RedisCluster::set' => ['RedisCluster|string|bool', 'key'=>'string', 'value'=>'mixed', 'options='=>'array'],
+'RedisCluster::setBit' => ['RedisCluster|int|bool', 'key'=>'string', 'idx'=>'int', 'value'=>'bool'],
+'RedisCluster::setex' => ['RedisCluster|bool', 'key'=>'string', 'expire'=>'int', 'value'=>'mixed'],
+'RedisCluster::setnx' => ['RedisCluster|bool', 'key'=>'string', 'value'=>'mixed'],
+'RedisCluster::setOption' => ['bool', 'option'=>'int', 'value'=>'mixed'],
+'RedisCluster::setRange' => ['RedisCluster|int|false', 'key'=>'string', 'index'=>'int', 'value'=>'string'],
+'RedisCluster::sInter' => ['RedisCluster|list<string>|false', 'key'=>'string', '...other_keys='=>'string'],
+'RedisCluster::sInterStore' => ['RedisCluster|int|false', 'key'=>'string[]|string', '...other_keys='=>'string'],
+'RedisCluster::sIsMember' => ['RedisCluster|bool', 'key'=>'string', 'value'=>'mixed'],
+'RedisCluster::slowLog' => ['mixed', 'key_or_address'=>'string|array', 'operation'=>'string', 'length='=>'int'],
+'RedisCluster::sMembers' => ['RedisCluster|list<string>|false', 'key'=>'string'],
+'RedisCluster::sMove' => ['RedisCluster|bool', 'src'=>'string', 'dst'=>'string', 'value'=>'mixed'],
+'RedisCluster::sort' => ['RedisCluster|array|int', 'key'=>'string', 'options='=>'?array{SORT?:string,ALPHA?:bool,LIMIT?:array{0:int,1:int},BY?:string,GET?:string}'],
+'RedisCluster::sPop' => ['RedisCluster|string|array|false', 'key'=>'string', 'count='=>'int'],
+'RedisCluster::sRandMember' => ['RedisCluster|string|array|false', 'key'=>'string', 'count='=>'int'],
+'RedisCluster::sRem' => ['RedisCluster|int|false', 'key'=>'string', 'value'=>'mixed', '...other_values='=>'mixed'],
+'RedisCluster::sScan' => ['RedisCluster|string[]|false', 'key'=>'string', '&iterator'=>'?int', 'pattern='=>'?string', 'count='=>'int'],
+'RedisCluster::strlen' => ['RedisCluster|0|positive-int|false', 'key'=>'string'],
+'RedisCluster::subscribe' => ['void', 'channels'=>'string[]', 'cb'=>'callable'],
+'RedisCluster::sUnion' => ['RedisCluster|list<string>|false', 'key'=>'string', '...other_keys='=>'string'],
+'RedisCluster::sUnionStore' => ['RedisCluster|int|false', 'dst'=>'string', 'key'=>'string', '...other_keys='=>'string'],
+'RedisCluster::time' => ['RedisCluster|array{0:int,1:int}|false', 'key_or_address'=>'string|array'],
+'RedisCluster::ttl' => ['RedisCluster|-2|-1|int|false', 'key'=>'string'],
+'RedisCluster::type' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::unlink' => ['RedisCluster|0|positive-int|false', 'key'=>'string[]|string', '...other_keys='=>'string'],
+'RedisCluster::unSubscribe' => ['bool|array', 'channels'=>'string[]'],
+'RedisCluster::unwatch' => ['RedisCluster|bool', 'key_or_address'=>'string|array'],
+'RedisCluster::watch' => ['RedisCluster|bool', 'key'=>'string[]|string', '...other_keys='=>'string'],
+'RedisCluster::xack' => ['RedisCluster|int|false', 'key'=>'string', 'group'=>'string', 'ids'=>'array'],
+'RedisCluster::xadd' => ['RedisCluster|string|false', 'key'=>'string', 'id'=>'string', 'values'=>'array', 'maxlen='=>'int', 'approx='=>'bool', 'nomkstream='=>'bool'],
+'RedisCluster::xclaim' => ['RedisCluster|array|false', 'key'=>'string', 'group'=>'string', 'consumer'=>'string', 'min_idle'=>'int', 'ids'=>'array', 'options='=>'array'],
+'RedisCluster::xdel' => ['RedisCluster|int|false', 'key'=>'string', 'ids'=>'array'],
+'RedisCluster::xgroup' => ['mixed', 'operation'=>'string', 'key='=>'?string', 'group='=>'?string', 'id_or_consumer='=>'?string', 'mkstream='=>'bool', 'entries_read='=>'int'],
+'RedisCluster::xinfo' => ['mixed', 'operation'=>'string', 'arg1='=>'?string', 'arg2='=>'?string', 'count='=>'int'],
+'RedisCluster::xlen' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::xpending' => ['RedisCluster|array|false', 'key'=>'string', 'group'=>'string', 'start='=>'?string', 'end='=>'?string', 'count='=>'int', 'consumer='=>'?string'],
+'RedisCluster::xrange' => ['RedisCluster|array|bool', 'key'=>'string', 'start'=>'string', 'end'=>'string', 'count='=>'int'],
+'RedisCluster::xread' => ['RedisCluster|array|bool', 'streams'=>'array', 'count='=>'int', 'block='=>'int'],
+'RedisCluster::xreadgroup' => ['RedisCluster|array|bool', 'group'=>'string', 'consumer'=>'string', 'streams'=>'array', 'count='=>'int', 'block='=>'int'],
+'RedisCluster::xrevrange' => ['RedisCluster|array|bool', 'key'=>'string', 'end'=>'string', 'start'=>'string', 'count='=>'int'],
+'RedisCluster::xtrim' => ['RedisCluster|array|false', 'key'=>'string', 'threshold'=>'string', 'approx='=>'bool', 'minid='=>'bool', 'limit='=>'int'],
+'RedisCluster::zAdd' => ['RedisCluster|int|float|false', 'key'=>'string', 'score_or_options'=>'array|float', '...more_scores_and_mems='=>'mixed'],
+'RedisCluster::zCard' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::zCount' => ['RedisCluster|int|false', 'key'=>'string', 'start'=>'string', 'end'=>'string'],
+'RedisCluster::zIncrBy' => ['RedisCluster|float|false', 'key'=>'string', 'value'=>'float', 'member'=>'mixed'],
+'RedisCluster::zInterStore' => ['RedisCluster|int|false', 'dst'=>'string', 'keys'=>'string[]', 'weights='=>'?array', 'aggregate='=>'string|null'],
+'RedisCluster::zLexCount' => ['RedisCluster|int|false', 'key'=>'string', 'min'=>'string', 'max'=>'string'],
+'RedisCluster::zRange' => ['RedisCluster|array|false', 'key'=>'string', 'start'=>'string|int', 'end'=>'string|int', 'options='=>'array|bool|null'],
+'RedisCluster::zRangeByLex' => ['RedisCluster|array|false', 'key'=>'string', 'min'=>'string', 'max'=>'string', 'offset='=>'int', 'limit='=>'int'],
+'RedisCluster::zRangeByScore' => ['RedisCluster|array|false', 'key'=>'string', 'start'=>'string', 'end'=>'string', 'options='=>'array'],
+'RedisCluster::zRank' => ['RedisCluster|int|false', 'key'=>'string', 'member'=>'mixed'],
+'RedisCluster::zRem' => ['RedisCluster|int|false', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'],
+'RedisCluster::zRemRangeByLex' => ['RedisCluster|int|false', 'key'=>'string', 'min'=>'string', 'max'=>'string'],
+'RedisCluster::zRemRangeByRank' => ['RedisCluster|int|false', 'key'=>'string', 'start'=>'int', 'end'=>'int'],
+'RedisCluster::zRemRangeByScore' => ['RedisCluster|int|false', 'key'=>'string', 'start'=>'string', 'end'=>'string'],
+'RedisCluster::zRevRange' => ['RedisCluster|array|false', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'scores='=>'bool|array{withscores:bool}|null'],
+'RedisCluster::zRevRangeByLex' => ['RedisCluster|array|false', 'key'=>'string', 'max'=>'string', 'min'=>'string', 'offset='=>'int', 'limit='=>'int'],
+'RedisCluster::zRevRangeByScore' => ['RedisCluster|array|false', 'key'=>'string', 'max'=>'string', 'min'=>'string', 'options='=>'array|bool'],
+'RedisCluster::zRevRank' => ['RedisCluster|int|false', 'key'=>'string', 'member'=>'mixed'],
+'RedisCluster::zScan' => ['RedisCluster|array|false', 'key'=>'string', '&iterator'=>'?int', 'pattern='=>'?string', 'count='=>'int'],
+'RedisCluster::zScore' => ['RedisCluster|float|false', 'key'=>'string', 'member'=>'mixed'],
+'RedisCluster::zUnionStore' => ['RedisCluster|int|false', 'dst'=>'string', 'keys'=>'string[]', 'weights='=>'?array', 'aggregate='=>'string|null'],
+'RedisCluster::acl' => ['mixed', 'key_or_address'=>'string|array', 'subcmd'=>'string', '...args='=>'string'],
+'RedisCluster::blmove' => ['RedisCluster|string|false', 'src'=>'string', 'dst'=>'string', 'wherefrom'=>'string', 'whereto'=>'string', 'timeout'=>'float'],
+'RedisCluster::lmpop' => ['RedisCluster|array|null|false', 'keys'=>'string[]', 'from'=>'string', 'count='=>'int'],
+'RedisCluster::blmpop' => ['RedisCluster|mixed[]|null|false', 'timeout'=>'float', 'keys'=>'string[]', 'from'=>'string', 'count='=>'int'],
+'RedisCluster::bzPopMax' => ['RedisCluster|mixed[]|false', 'key'=>'string|string[]', 'timeout_or_key'=>'string|int', '...extra_args='=>'mixed'],
+'RedisCluster::bzPopMin' => ['RedisCluster|mixed[]|false', 'key'=>'string|string[]', 'timeout_or_key'=>'string|int', '...extra_args='=>'mixed'],
+'RedisCluster::bzmpop' => ['RedisCluster|mixed[]|null|false', 'timeout'=>'float', 'keys'=>'string[]', 'from'=>'string', 'count='=>'int'],
+'RedisCluster::copy' => ['RedisCluster|bool', 'src'=>'string', 'dst'=>'string', 'options='=>'?array<string, mixed>'],
+'RedisCluster::decrbyfloat' => ['float', 'key'=>'string', 'value'=>'float'],
+'RedisCluster::eval_ro' => ['mixed', 'script'=>'string', 'args='=>'array', 'num_keys='=>'int'],
+'RedisCluster::evalsha_ro' => ['mixed', 'sha1'=>'string', 'args='=>'array', 'num_keys='=>'int'],
+'RedisCluster::expiremember' => ['RedisCluster|int|false', 'key'=>'string', 'field'=>'string', 'ttl'=>'int', 'unit='=>'string|null'],
+'RedisCluster::expirememberat' => ['RedisCluster|int|false', 'key'=>'string', 'field'=>'string', 'timestamp'=>'int'],
+'RedisCluster::expiretime' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::georadius_ro' => ['__benevolent<RedisCluster|array<int,mixed>>', 'key'=>'string', 'lng'=>'float', 'lat'=>'float', 'radius'=>'float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::georadiusbymember_ro' => ['__benevolent<RedisCluster|array<int,mixed>>', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::geosearch' => ['__benevolent<RedisCluster|array<int,mixed>>', 'key'=>'string', 'position'=>'array<int,array{0:string,1:string}>|string', 'shape'=>'array<int,array{0:string,1:string}>|int|float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::geosearchstore' => ['RedisCluster|array<int,mixed>|int|false', 'dst'=>'string', 'src'=>'string', 'position'=>'array<int,array{0:string,1:string}>|string', 'shape'=>'array<int,array{0:string,1:string}>|int|float', 'unit'=>'string', 'options='=>'array<string,mixed>'],
+'RedisCluster::getDel' => ['RedisCluster|string|bool', 'key'=>'string'],
+'RedisCluster::getEx' => ['RedisCluster|string|bool', 'key'=>'string', 'options='=>'?array{EX?:int,PX?:int,EXAT?:int,PXAT?:int,PERSIST?:bool}'],
+'RedisCluster::getTransferredBytes' => ['array<int,array{0:int,1:int}>|false'],
+'RedisCluster::clearTransferredBytes' => ['void'],
+'RedisCluster::getWithMeta' => ['RedisCluster|array|false', 'key'=>'string'],
+'RedisCluster::hexpire' => ['RedisCluster|array|false', 'key'=>'string', 'ttl'=>'int', 'fields'=>'array', 'mode='=>'string|null'],
+'RedisCluster::hexpireat' => ['RedisCluster|array|false', 'key'=>'string', 'time'=>'int', 'fields'=>'array', 'mode='=>'string|null'],
+'RedisCluster::hexpiretime' => ['RedisCluster|array|false', 'key'=>'string', 'fields'=>'array'],
+'RedisCluster::hpexpire' => ['RedisCluster|array|false', 'key'=>'string', 'ttl'=>'int', 'fields'=>'array', 'mode='=>'string|null'],
+'RedisCluster::hpexpireat' => ['RedisCluster|array|false', 'key'=>'string', 'mstime'=>'int', 'fields'=>'array', 'mode='=>'string|null'],
+'RedisCluster::hpexpiretime' => ['RedisCluster|array|false', 'key'=>'string', 'fields'=>'array'],
+'RedisCluster::hpersist' => ['RedisCluster|array|false', 'key'=>'string', 'fields'=>'array'],
+'RedisCluster::hpttl' => ['RedisCluster|array|false', 'key'=>'string', 'fields'=>'array'],
+'RedisCluster::hRandField' => ['__benevolent<RedisCluster|string|array<string, mixed>>', 'key'=>'string', 'options='=>'?array{COUNT?:int,WITHVALUES?:bool}'],
+'RedisCluster::hStrLen' => ['RedisCluster|int|false', 'key'=>'string', 'field'=>'string'],
+'RedisCluster::httl' => ['RedisCluster|array|false', 'key'=>'string', 'fields'=>'array'],
+'RedisCluster::lcs' => ['RedisCluster|string|array|int|false', 'key1'=>'string', 'key2'=>'string', 'options='=>'?array{MINMATCHLEN?:int,WITHMATCHLEN?:bool,LEN?:bool,IDX?:bool}'],
+'RedisCluster::lMove' => ['RedisCluster|string|false', 'src'=>'string', 'dst'=>'string', 'wherefrom'=>'string', 'whereto'=>'string'],
+'RedisCluster::lPos' => ['RedisCluster|null|bool|int|mixed[]', 'key'=>'string', 'value'=>'mixed', 'options='=>'?array{COUNT?:int,RANK?:int,MAXLEN?:int}'],
+'RedisCluster::pexpiretime' => ['RedisCluster|int|false', 'key'=>'string'],
+'RedisCluster::sintercard' => ['RedisCluster|int|false', 'keys'=>'string[]', 'limit='=>'int'],
+'RedisCluster::sMisMember' => ['RedisCluster|int[]|false', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'],
+'RedisCluster::sort_ro' => ['RedisCluster|array|int', 'key'=>'string', 'options='=>'?array{SORT?:string,ALPHA?:bool,LIMIT?:array{0:int,1:int},BY?:string,GET?:string}'],
+'RedisCluster::touch' => ['RedisCluster|int|bool', 'key'=>'string[]|string', '...other_keys='=>'string'],
+'RedisCluster::waitaof' => ['RedisCluster|array|false', 'key_or_address'=>'string|array', 'numlocal'=>'int', 'numreplicas'=>'int', 'timeout'=>'int'],
+'RedisCluster::xautoclaim' => ['RedisCluster|bool|array', 'key'=>'string', 'group'=>'string', 'consumer'=>'string', 'min_idle'=>'int', 'start'=>'string', 'count='=>'int', 'justid='=>'bool'],
+'RedisCluster::zdiff' => ['RedisCluster|array|false', 'keys'=>'string[]', 'options='=>'?array'],
+'RedisCluster::zdiffstore' => ['RedisCluster|int|false', 'dst'=>'string', 'keys'=>'string[]'],
+'RedisCluster::zintercard' => ['RedisCluster|int|false', 'keys'=>'array', 'limit='=>'int'],
+'RedisCluster::zmscore' => ['RedisCluster|array|false', 'key'=>'string', 'member'=>'mixed', '...other_members='=>'mixed'],
+'RedisCluster::zmpop' => ['RedisCluster|array|null|false', 'keys'=>'string[]', 'from'=>'string', 'count='=>'int'],
+'RedisCluster::zPopMax' => ['RedisCluster|bool|array', 'key'=>'string', 'count='=>'int|null'],
+'RedisCluster::zPopMin' => ['RedisCluster|bool|array', 'key'=>'string', 'count='=>'int|null'],
+'RedisCluster::zrangestore' => ['RedisCluster|int|false', 'dstkey'=>'string', 'srckey'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array|bool|null'],
+'RedisCluster::zRandMember' => ['RedisCluster|string|array|false', 'key'=>'string', 'options='=>'?array{COUNT?:int,WITHSCORES?:bool}'],
+'RedisCluster::zunion' => ['RedisCluster|array|false', 'keys'=>'string[]', 'weights='=>'?array', 'options='=>'?array'],
 'Reflection::export' => ['string|null', 'r'=>'reflector', 'return='=>'bool'],
 'Reflection::getModifierNames' => ['array', 'modifiers'=>'int'],
 'ReflectionClass::__clone' => ['void'],