From c380b7c15680a0afdf7bda98e72fe14a984d15b0 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 2 Jun 2025 16:08:14 +0200 Subject: [PATCH 01/18] Allow Symfony ^8.0 --- composer.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index c89d667..d56cec5 100644 --- a/composer.json +++ b/composer.json @@ -27,20 +27,20 @@ "symfony/cache-contracts": "^3.6", "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^6.4|^7.0|^8.0" }, "require-dev": { "cache/integration-tests": "dev-master", "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/filesystem": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/clock": "^6.4|^7.0|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/filesystem": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { "doctrine/dbal": "<3.6", From dc9ed120bf0c8ed0b92949ac08d8d59d31bc9ee0 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 2 Jun 2025 17:50:55 +0200 Subject: [PATCH 02/18] Bump Symfony 8 to PHP >= 8.4 --- composer.json | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index d56cec5..249ed84 100644 --- a/composer.json +++ b/composer.json @@ -21,32 +21,29 @@ "symfony/cache-implementation": "1.1|2.0|3.0" }, "require": { - "php": ">=8.2", + "php": ">=8.4", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.4|^7.0|^8.0" + "symfony/var-exporter": "^7.4|^8.0" }, "require-dev": { "cache/integration-tests": "dev-master", "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/clock": "^6.4|^7.0|^8.0", - "symfony/config": "^6.4|^7.0|^8.0", - "symfony/dependency-injection": "^6.4|^7.0|^8.0", - "symfony/filesystem": "^6.4|^7.0|^8.0", - "symfony/http-kernel": "^6.4|^7.0|^8.0", - "symfony/messenger": "^6.4|^7.0|^8.0", - "symfony/var-dumper": "^6.4|^7.0|^8.0" + "symfony/clock": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/filesystem": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "conflict": { - "doctrine/dbal": "<3.6", - "symfony/dependency-injection": "<6.4", - "symfony/http-kernel": "<6.4", - "symfony/var-dumper": "<6.4" + "doctrine/dbal": "<3.6" }, "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, From cc83f86409b6de7149d87f59606d1d45054813ea Mon Sep 17 00:00:00 2001 From: Matthias Schmidt Date: Mon, 30 Jun 2025 20:40:34 +0200 Subject: [PATCH 03/18] [Cache] Remove deprecated `CouchbaseBucketAdapter` --- Adapter/AbstractAdapter.php | 4 - Adapter/CouchbaseBucketAdapter.php | 237 ------------------- CHANGELOG.md | 5 + LockRegistry.php | 1 - Tests/Adapter/CouchbaseBucketAdapterTest.php | 58 ----- composer.json | 1 - 6 files changed, 5 insertions(+), 301 deletions(-) delete mode 100644 Adapter/CouchbaseBucketAdapter.php delete mode 100644 Tests/Adapter/CouchbaseBucketAdapterTest.php diff --git a/Adapter/AbstractAdapter.php b/Adapter/AbstractAdapter.php index 2b4bc8b..df5ba2f 100644 --- a/Adapter/AbstractAdapter.php +++ b/Adapter/AbstractAdapter.php @@ -131,10 +131,6 @@ public static function createConnection(#[\SensitiveParameter] string $dsn, arra return MemcachedAdapter::createConnection($dsn, $options); } if (str_starts_with($dsn, 'couchbase:')) { - if (class_exists(\CouchbaseBucket::class) && CouchbaseBucketAdapter::isSupported()) { - return CouchbaseBucketAdapter::createConnection($dsn, $options); - } - return CouchbaseCollectionAdapter::createConnection($dsn, $options); } if (preg_match('/^(mysql|oci|pgsql|sqlsrv|sqlite):/', $dsn)) { diff --git a/Adapter/CouchbaseBucketAdapter.php b/Adapter/CouchbaseBucketAdapter.php deleted file mode 100644 index 106d7fd..0000000 --- a/Adapter/CouchbaseBucketAdapter.php +++ /dev/null @@ -1,237 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Adapter; - -use Symfony\Component\Cache\Exception\CacheException; -use Symfony\Component\Cache\Exception\InvalidArgumentException; -use Symfony\Component\Cache\Marshaller\DefaultMarshaller; -use Symfony\Component\Cache\Marshaller\MarshallerInterface; - -trigger_deprecation('symfony/cache', '7.1', 'The "%s" class is deprecated, use "%s" instead.', CouchbaseBucketAdapter::class, CouchbaseCollectionAdapter::class); - -/** - * @author Antonio Jose Cerezo Aranda - * - * @deprecated since Symfony 7.1, use {@see CouchbaseCollectionAdapter} instead - */ -class CouchbaseBucketAdapter extends AbstractAdapter -{ - private const THIRTY_DAYS_IN_SECONDS = 2592000; - private const MAX_KEY_LENGTH = 250; - private const KEY_NOT_FOUND = 13; - private const VALID_DSN_OPTIONS = [ - 'operationTimeout', - 'configTimeout', - 'configNodeTimeout', - 'n1qlTimeout', - 'httpTimeout', - 'configDelay', - 'htconfigIdleTimeout', - 'durabilityInterval', - 'durabilityTimeout', - ]; - - private MarshallerInterface $marshaller; - - public function __construct( - private \CouchbaseBucket $bucket, - string $namespace = '', - int $defaultLifetime = 0, - ?MarshallerInterface $marshaller = null, - ) { - if (!static::isSupported()) { - throw new CacheException('Couchbase >= 2.6.0 < 3.0.0 is required.'); - } - - $this->maxIdLength = static::MAX_KEY_LENGTH; - - parent::__construct($namespace, $defaultLifetime); - $this->enableVersioning(); - $this->marshaller = $marshaller ?? new DefaultMarshaller(); - } - - public static function createConnection(#[\SensitiveParameter] array|string $servers, array $options = []): \CouchbaseBucket - { - if (\is_string($servers)) { - $servers = [$servers]; - } - - if (!static::isSupported()) { - throw new CacheException('Couchbase >= 2.6.0 < 3.0.0 is required.'); - } - - set_error_handler(static fn ($type, $msg, $file, $line) => throw new \ErrorException($msg, 0, $type, $file, $line)); - - $dsnPattern = '/^(?couchbase(?:s)?)\:\/\/(?:(?[^\:]+)\:(?[^\@]{6,})@)?' - .'(?[^\:]+(?:\:\d+)?)(?:\/(?[^\?]+))(?:\?(?.*))?$/i'; - - $newServers = []; - $protocol = 'couchbase'; - try { - $options = self::initOptions($options); - $username = $options['username']; - $password = $options['password']; - - foreach ($servers as $dsn) { - if (!str_starts_with($dsn, 'couchbase:')) { - throw new InvalidArgumentException('Invalid Couchbase DSN: it does not start with "couchbase:".'); - } - - preg_match($dsnPattern, $dsn, $matches); - - $username = $matches['username'] ?: $username; - $password = $matches['password'] ?: $password; - $protocol = $matches['protocol'] ?: $protocol; - - if (isset($matches['options'])) { - $optionsInDsn = self::getOptions($matches['options']); - - foreach ($optionsInDsn as $parameter => $value) { - $options[$parameter] = $value; - } - } - - $newServers[] = $matches['host']; - } - - $connectionString = $protocol.'://'.implode(',', $newServers); - - $client = new \CouchbaseCluster($connectionString); - $client->authenticateAs($username, $password); - - $bucket = $client->openBucket($matches['bucketName']); - - unset($options['username'], $options['password']); - foreach ($options as $option => $value) { - if ($value) { - $bucket->$option = $value; - } - } - - return $bucket; - } finally { - restore_error_handler(); - } - } - - public static function isSupported(): bool - { - return \extension_loaded('couchbase') && version_compare(phpversion('couchbase'), '2.6.0', '>=') && version_compare(phpversion('couchbase'), '3.0', '<'); - } - - private static function getOptions(string $options): array - { - $results = []; - $optionsInArray = explode('&', $options); - - foreach ($optionsInArray as $option) { - [$key, $value] = explode('=', $option); - - if (\in_array($key, static::VALID_DSN_OPTIONS, true)) { - $results[$key] = $value; - } - } - - return $results; - } - - private static function initOptions(array $options): array - { - $options['username'] ??= ''; - $options['password'] ??= ''; - $options['operationTimeout'] ??= 0; - $options['configTimeout'] ??= 0; - $options['configNodeTimeout'] ??= 0; - $options['n1qlTimeout'] ??= 0; - $options['httpTimeout'] ??= 0; - $options['configDelay'] ??= 0; - $options['htconfigIdleTimeout'] ??= 0; - $options['durabilityInterval'] ??= 0; - $options['durabilityTimeout'] ??= 0; - - return $options; - } - - protected function doFetch(array $ids): iterable - { - $resultsCouchbase = $this->bucket->get($ids); - - $results = []; - foreach ($resultsCouchbase as $key => $value) { - if (null !== $value->error) { - continue; - } - $results[$key] = $this->marshaller->unmarshall($value->value); - } - - return $results; - } - - protected function doHave(string $id): bool - { - return false !== $this->bucket->get($id); - } - - protected function doClear(string $namespace): bool - { - if ('' === $namespace) { - $this->bucket->manager()->flush(); - - return true; - } - - return false; - } - - protected function doDelete(array $ids): bool - { - $results = $this->bucket->remove(array_values($ids)); - - foreach ($results as $key => $result) { - if (null !== $result->error && static::KEY_NOT_FOUND !== $result->error->getCode()) { - continue; - } - unset($results[$key]); - } - - return 0 === \count($results); - } - - protected function doSave(array $values, int $lifetime): array|bool - { - if (!$values = $this->marshaller->marshall($values, $failed)) { - return $failed; - } - - $lifetime = $this->normalizeExpiry($lifetime); - - $ko = []; - foreach ($values as $key => $value) { - $result = $this->bucket->upsert($key, $value, ['expiry' => $lifetime]); - - if (null !== $result->error) { - $ko[$key] = $result; - } - } - - return [] === $ko ? true : $ko; - } - - private function normalizeExpiry(int $expiry): int - { - if ($expiry && $expiry > static::THIRTY_DAYS_IN_SECONDS) { - $expiry += time(); - } - - return $expiry; - } -} diff --git a/CHANGELOG.md b/CHANGELOG.md index d7b1824..1007fd6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +8.0 +--- + + * Remove `CouchbaseBucketAdapter`, use `CouchbaseCollectionAdapter` instead + 7.3 --- diff --git a/LockRegistry.php b/LockRegistry.php index 6923b40..5a328cf 100644 --- a/LockRegistry.php +++ b/LockRegistry.php @@ -41,7 +41,6 @@ final class LockRegistry __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'ApcuAdapter.php', __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'ArrayAdapter.php', __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'ChainAdapter.php', - __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'CouchbaseBucketAdapter.php', __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'CouchbaseCollectionAdapter.php', __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'DoctrineDbalAdapter.php', __DIR__.\DIRECTORY_SEPARATOR.'Adapter'.\DIRECTORY_SEPARATOR.'FilesystemAdapter.php', diff --git a/Tests/Adapter/CouchbaseBucketAdapterTest.php b/Tests/Adapter/CouchbaseBucketAdapterTest.php deleted file mode 100644 index 35c1591..0000000 --- a/Tests/Adapter/CouchbaseBucketAdapterTest.php +++ /dev/null @@ -1,58 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Tests\Adapter; - -use Psr\Cache\CacheItemPoolInterface; -use Symfony\Bridge\PhpUnit\ExpectUserDeprecationMessageTrait; -use Symfony\Component\Cache\Adapter\AbstractAdapter; -use Symfony\Component\Cache\Adapter\CouchbaseBucketAdapter; - -/** - * @requires extension couchbase <3.0.0 - * @requires extension couchbase >=2.6.0 - * - * @group legacy integration - * - * @author Antonio Jose Cerezo Aranda - */ -class CouchbaseBucketAdapterTest extends AdapterTestCase -{ - use ExpectUserDeprecationMessageTrait; - - protected $skippedTests = [ - 'testClearPrefix' => 'Couchbase cannot clear by prefix', - ]; - - protected \CouchbaseBucket $client; - - protected function setUp(): void - { - $this->expectUserDeprecationMessage('Since symfony/cache 7.1: The "Symfony\Component\Cache\Adapter\CouchbaseBucketAdapter" class is deprecated, use "Symfony\Component\Cache\Adapter\CouchbaseCollectionAdapter" instead.'); - - $this->client = AbstractAdapter::createConnection('couchbase://'.getenv('COUCHBASE_HOST').'/cache', - ['username' => getenv('COUCHBASE_USER'), 'password' => getenv('COUCHBASE_PASS')] - ); - } - - public function createCachePool($defaultLifetime = 0): CacheItemPoolInterface - { - $client = $defaultLifetime - ? AbstractAdapter::createConnection('couchbase://' - .getenv('COUCHBASE_USER') - .':'.getenv('COUCHBASE_PASS') - .'@'.getenv('COUCHBASE_HOST') - .'/cache') - : $this->client; - - return new CouchbaseBucketAdapter($client, str_replace('\\', '.', __CLASS__), $defaultLifetime); - } -} diff --git a/composer.json b/composer.json index 249ed84..e5f3793 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,6 @@ "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", - "symfony/deprecation-contracts": "^2.5|^3.0", "symfony/service-contracts": "^2.5|^3", "symfony/var-exporter": "^7.4|^8.0" }, From a9a4855096e1fcfdcf4e93e4a450a6e1c425bdc8 Mon Sep 17 00:00:00 2001 From: Dariusz Ruminski Date: Tue, 8 Jul 2025 23:30:49 +0200 Subject: [PATCH 04/18] chore: PHP CS Fixer fixes --- Traits/RelayClusterProxy.php | 44 ++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/Traits/RelayClusterProxy.php b/Traits/RelayClusterProxy.php index fd5f08b..af524c8 100644 --- a/Traits/RelayClusterProxy.php +++ b/Traits/RelayClusterProxy.php @@ -31,13 +31,13 @@ class RelayClusterProxy extends Cluster implements ResetInterface, LazyObjectInt } public function __construct( - string|null $name, - array|null $seeds = null, + ?string $name, + ?array $seeds = null, int|float $connect_timeout = 0, int|float $command_timeout = 0, bool $persistent = false, #[\SensitiveParameter] mixed $auth = null, - array|null $context = null, + ?array $context = null, ) { $this->initializeLazyObject()->__construct(...\func_get_args()); } @@ -172,12 +172,12 @@ public function info(array|string $key_or_address, string ...$sections): Cluster return $this->initializeLazyObject()->info(...\func_get_args()); } - public function flushdb(array|string $key_or_address, bool|null $sync = null): Cluster|bool + public function flushdb(array|string $key_or_address, ?bool $sync = null): Cluster|bool { return $this->initializeLazyObject()->flushdb(...\func_get_args()); } - public function flushall(array|string $key_or_address, bool|null $sync = null): Cluster|bool + public function flushall(array|string $key_or_address, ?bool $sync = null): Cluster|bool { return $this->initializeLazyObject()->flushall(...\func_get_args()); } @@ -192,7 +192,7 @@ public function waitaof(array|string $key_or_address, int $numlocal, int $numrem return $this->initializeLazyObject()->waitaof(...\func_get_args()); } - public function restore(mixed $key, int $ttl, string $value, array|null $options = null): Cluster|bool + public function restore(mixed $key, int $ttl, string $value, ?array $options = null): Cluster|bool { return $this->initializeLazyObject()->restore(...\func_get_args()); } @@ -202,7 +202,7 @@ public function echo(array|string $key_or_address, string $message): Cluster|str return $this->initializeLazyObject()->echo(...\func_get_args()); } - public function ping(array|string $key_or_address, string|null $message = null): Cluster|bool|string + public function ping(array|string $key_or_address, ?string $message = null): Cluster|bool|string { return $this->initializeLazyObject()->ping(...\func_get_args()); } @@ -232,7 +232,7 @@ public function lastsave(array|string $key_or_address): Cluster|false|int return $this->initializeLazyObject()->lastsave(...\func_get_args()); } - public function lcs(mixed $key1, mixed $key2, array|null $options = null): mixed + public function lcs(mixed $key1, mixed $key2, ?array $options = null): mixed { return $this->initializeLazyObject()->lcs(...\func_get_args()); } @@ -297,7 +297,7 @@ public function geoadd(mixed $key, float $lng, float $lat, string $member, mixed return $this->initializeLazyObject()->geoadd(...\func_get_args()); } - public function geodist(mixed $key, string $src, string $dst, string|null $unit = null): Cluster|float|false + public function geodist(mixed $key, string $src, string $dst, ?string $unit = null): Cluster|float|false { return $this->initializeLazyObject()->geodist(...\func_get_args()); } @@ -492,7 +492,7 @@ public function unlink(mixed ...$keys): Cluster|false|int return $this->initializeLazyObject()->unlink(...\func_get_args()); } - public function expire(mixed $key, int $seconds, string|null $mode = null): Cluster|bool + public function expire(mixed $key, int $seconds, ?string $mode = null): Cluster|bool { return $this->initializeLazyObject()->expire(...\func_get_args()); } @@ -572,7 +572,7 @@ public function lpop(mixed $key, int $count = 1): mixed return $this->initializeLazyObject()->lpop(...\func_get_args()); } - public function lpos(mixed $key, mixed $value, array|null $options = null): mixed + public function lpos(mixed $key, mixed $value, ?array $options = null): mixed { return $this->initializeLazyObject()->lpos(...\func_get_args()); } @@ -707,7 +707,7 @@ public function hexists(mixed $key, mixed $member): Cluster|bool return $this->initializeLazyObject()->hexists(...\func_get_args()); } - public function hrandfield(mixed $key, array|null $options = null): Cluster|array|string|false + public function hrandfield(mixed $key, ?array $options = null): Cluster|array|string|false { return $this->initializeLazyObject()->hrandfield(...\func_get_args()); } @@ -862,7 +862,7 @@ public function getMode(bool $masked = false): int return $this->initializeLazyObject()->getMode(...\func_get_args()); } - public function scan(mixed &$iterator, array|string $key_or_address, mixed $match = null, int $count = 0, string|null $type = null): array|false + public function scan(mixed &$iterator, array|string $key_or_address, mixed $match = null, int $count = 0, ?string $type = null): array|false { return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); } @@ -1007,12 +1007,12 @@ public function xdel(mixed $key, array $ids): Cluster|false|int return $this->initializeLazyObject()->xdel(...\func_get_args()); } - public function xinfo(string $operation, string|null $arg1 = null, string|null $arg2 = null, int $count = -1): mixed + public function xinfo(string $operation, ?string $arg1 = null, ?string $arg2 = null, int $count = -1): mixed { return $this->initializeLazyObject()->xinfo(...\func_get_args()); } - public function xpending(mixed $key, string $group, string|null $start = null, string|null $end = null, int $count = -1, string|null $consumer = null, int $idle = 0): Cluster|array|false + public function xpending(mixed $key, string $group, ?string $start = null, ?string $end = null, int $count = -1, ?string $consumer = null, int $idle = 0): Cluster|array|false { return $this->initializeLazyObject()->xpending(...\func_get_args()); } @@ -1047,7 +1047,7 @@ public function zadd(mixed $key, mixed ...$args): mixed return $this->initializeLazyObject()->zadd(...\func_get_args()); } - public function zrandmember(mixed $key, array|null $options = null): mixed + public function zrandmember(mixed $key, ?array $options = null): mixed { return $this->initializeLazyObject()->zrandmember(...\func_get_args()); } @@ -1127,7 +1127,7 @@ public function zcount(mixed $key, mixed $min, mixed $max): Cluster|false|int return $this->initializeLazyObject()->zcount(...\func_get_args()); } - public function zdiff(array $keys, array|null $options = null): Cluster|array|false + public function zdiff(array $keys, ?array $options = null): Cluster|array|false { return $this->initializeLazyObject()->zdiff(...\func_get_args()); } @@ -1152,7 +1152,7 @@ public function zmscore(mixed $key, mixed ...$members): Cluster|array|false return $this->initializeLazyObject()->zmscore(...\func_get_args()); } - public function zinter(array $keys, array|null $weights = null, mixed $options = null): Cluster|array|false + public function zinter(array $keys, ?array $weights = null, mixed $options = null): Cluster|array|false { return $this->initializeLazyObject()->zinter(...\func_get_args()); } @@ -1162,17 +1162,17 @@ public function zintercard(array $keys, int $limit = -1): Cluster|false|int return $this->initializeLazyObject()->zintercard(...\func_get_args()); } - public function zinterstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null): Cluster|false|int + public function zinterstore(mixed $dstkey, array $keys, ?array $weights = null, mixed $options = null): Cluster|false|int { return $this->initializeLazyObject()->zinterstore(...\func_get_args()); } - public function zunion(array $keys, array|null $weights = null, mixed $options = null): Cluster|array|false + public function zunion(array $keys, ?array $weights = null, mixed $options = null): Cluster|array|false { return $this->initializeLazyObject()->zunion(...\func_get_args()); } - public function zunionstore(mixed $dstkey, array $keys, array|null $weights = null, mixed $options = null): Cluster|false|int + public function zunionstore(mixed $dstkey, array $keys, ?array $weights = null, mixed $options = null): Cluster|false|int { return $this->initializeLazyObject()->zunionstore(...\func_get_args()); } @@ -1197,7 +1197,7 @@ public function _masters(): array return $this->initializeLazyObject()->_masters(...\func_get_args()); } - public function copy(mixed $srckey, mixed $dstkey, array|null $options = null): Cluster|bool + public function copy(mixed $srckey, mixed $dstkey, ?array $options = null): Cluster|bool { return $this->initializeLazyObject()->copy(...\func_get_args()); } From 554106c8ee757edc43fa2c9d10fc0efa52638e39 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Wed, 9 Jul 2025 09:08:18 +0200 Subject: [PATCH 05/18] [Cache] Bump ext-redis to 6.2 and ext-relay to 0.11 minimum --- CHANGELOG.md | 5 + Tests/Traits/RedisProxiesTest.php | 23 +- Traits/Redis5Proxy.php | 1225 ----------------------- Traits/Redis6Proxy.php | 1266 ------------------------ Traits/Redis6ProxyTrait.php | 81 -- Traits/RedisCluster5Proxy.php | 980 ------------------- Traits/RedisCluster6Proxy.php | 1136 --------------------- Traits/RedisCluster6ProxyTrait.php | 46 - Traits/RedisClusterProxy.php | 1159 +++++++++++++++++++++- Traits/RedisProxy.php | 1309 ++++++++++++++++++++++++- Traits/Relay/BgsaveTrait.php | 36 - Traits/Relay/CopyTrait.php | 36 - Traits/Relay/GeosearchTrait.php | 36 - Traits/Relay/GetrangeTrait.php | 36 - Traits/Relay/HsetTrait.php | 36 - Traits/Relay/MoveTrait.php | 46 - Traits/Relay/NullableReturnTrait.php | 96 -- Traits/Relay/PfcountTrait.php | 36 - Traits/RelayClusterProxy.php | 946 +++++++++--------- Traits/RelayProxy.php | 1358 +++++++++++++++++--------- composer.json | 2 + 21 files changed, 3848 insertions(+), 6046 deletions(-) delete mode 100644 Traits/Redis5Proxy.php delete mode 100644 Traits/Redis6Proxy.php delete mode 100644 Traits/Redis6ProxyTrait.php delete mode 100644 Traits/RedisCluster5Proxy.php delete mode 100644 Traits/RedisCluster6Proxy.php delete mode 100644 Traits/RedisCluster6ProxyTrait.php delete mode 100644 Traits/Relay/BgsaveTrait.php delete mode 100644 Traits/Relay/CopyTrait.php delete mode 100644 Traits/Relay/GeosearchTrait.php delete mode 100644 Traits/Relay/GetrangeTrait.php delete mode 100644 Traits/Relay/HsetTrait.php delete mode 100644 Traits/Relay/MoveTrait.php delete mode 100644 Traits/Relay/NullableReturnTrait.php delete mode 100644 Traits/Relay/PfcountTrait.php diff --git a/CHANGELOG.md b/CHANGELOG.md index d7b1824..38d405b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +7.4 +--- + + * Bump ext-redis to 6.2 and ext-relay to 0.11 minimum + 7.3 --- diff --git a/Tests/Traits/RedisProxiesTest.php b/Tests/Traits/RedisProxiesTest.php index 50f784d..c87814f 100644 --- a/Tests/Traits/RedisProxiesTest.php +++ b/Tests/Traits/RedisProxiesTest.php @@ -29,18 +29,17 @@ class RedisProxiesTest extends TestCase */ public function testRedisProxy($class) { - $version = version_compare(phpversion('redis'), '6', '>') ? '6' : '5'; - $proxy = file_get_contents(\dirname(__DIR__, 2)."/Traits/{$class}{$version}Proxy.php"); + $proxy = file_get_contents(\dirname(__DIR__, 2)."/Traits/{$class}Proxy.php"); $proxy = substr($proxy, 0, 2 + strpos($proxy, '[];')); $expected = substr($proxy, 0, 2 + strpos($proxy, '}')); $methods = []; - foreach ((new \ReflectionClass(\sprintf('Symfony\Component\Cache\Traits\\%s%dProxy', $class, $version)))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name)) { + foreach ((new \ReflectionClass(\sprintf('Symfony\Component\Cache\Traits\\%sProxy', $class)))->getMethods() as $method) { + if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isInternal()) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; - $methods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); } @@ -54,7 +53,7 @@ public function testRedisProxy($class) $methods = []; foreach ((new \ReflectionClass($class))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name)) { + if ('__destruct' === $method->name || 'reset' === $method->name) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; @@ -88,12 +87,12 @@ public function testRelayProxy() $expectedMethods = []; foreach ((new \ReflectionClass(RelayProxy::class))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isStatic()) { + if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isInternal()) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; - $expectedMethods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); } @@ -102,7 +101,7 @@ public function testRelayProxy() } foreach ((new \ReflectionClass(Relay::class))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isStatic()) { + if ('__destruct' === $method->name || 'reset' === $method->name || $method->isStatic()) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; @@ -135,12 +134,12 @@ public function testRelayClusterProxy() $expectedMethods = []; foreach ((new \ReflectionClass(RelayClusterProxy::class))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isStatic()) { + if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isInternal()) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; - $expectedMethods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); } @@ -149,7 +148,7 @@ public function testRelayClusterProxy() } foreach ((new \ReflectionClass(RelayCluster::class))->getMethods() as $method) { - if ('reset' === $method->name || method_exists(RedisProxyTrait::class, $method->name) || $method->isStatic()) { + if ('__destruct' === $method->name || 'reset' === $method->name || $method->isStatic()) { continue; } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; diff --git a/Traits/Redis5Proxy.php b/Traits/Redis5Proxy.php deleted file mode 100644 index b2402f2..0000000 --- a/Traits/Redis5Proxy.php +++ /dev/null @@ -1,1225 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -use Symfony\Component\VarExporter\LazyObjectInterface; -use Symfony\Contracts\Service\ResetInterface; - -// Help opcache.preload discover always-needed symbols -class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); - -/** - * @internal - */ -class Redis5Proxy extends \Redis implements ResetInterface, LazyObjectInterface -{ - use RedisProxyTrait { - resetLazyObject as reset; - } - - public function __construct() - { - $this->initializeLazyObject()->__construct(...\func_get_args()); - } - - public function _prefix($key) - { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); - } - - public function _serialize($value) - { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); - } - - public function _unserialize($value) - { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); - } - - public function _pack($value) - { - return $this->initializeLazyObject()->_pack(...\func_get_args()); - } - - public function _unpack($value) - { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); - } - - public function _compress($value) - { - return $this->initializeLazyObject()->_compress(...\func_get_args()); - } - - public function _uncompress($value) - { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); - } - - public function acl($subcmd, ...$args) - { - return $this->initializeLazyObject()->acl(...\func_get_args()); - } - - public function append($key, $value) - { - return $this->initializeLazyObject()->append(...\func_get_args()); - } - - public function auth(#[\SensitiveParameter] $auth) - { - return $this->initializeLazyObject()->auth(...\func_get_args()); - } - - public function bgSave() - { - return $this->initializeLazyObject()->bgSave(...\func_get_args()); - } - - public function bgrewriteaof() - { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); - } - - public function bitcount($key) - { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); - } - - public function bitop($operation, $ret_key, $key, ...$other_keys) - { - return $this->initializeLazyObject()->bitop(...\func_get_args()); - } - - public function bitpos($key, $bit, $start = null, $end = null) - { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); - } - - public function blPop($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->blPop(...\func_get_args()); - } - - public function brPop($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->brPop(...\func_get_args()); - } - - public function brpoplpush($src, $dst, $timeout) - { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); - } - - public function bzPopMax($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->bzPopMax(...\func_get_args()); - } - - public function bzPopMin($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->bzPopMin(...\func_get_args()); - } - - public function clearLastError() - { - return $this->initializeLazyObject()->clearLastError(...\func_get_args()); - } - - public function client($cmd, ...$args) - { - return $this->initializeLazyObject()->client(...\func_get_args()); - } - - public function close() - { - return $this->initializeLazyObject()->close(...\func_get_args()); - } - - public function command(...$args) - { - return $this->initializeLazyObject()->command(...\func_get_args()); - } - - public function config($cmd, $key, $value = null) - { - return $this->initializeLazyObject()->config(...\func_get_args()); - } - - public function connect($host, $port = null, $timeout = null, $retry_interval = null) - { - return $this->initializeLazyObject()->connect(...\func_get_args()); - } - - public function dbSize() - { - return $this->initializeLazyObject()->dbSize(...\func_get_args()); - } - - public function debug($key) - { - return $this->initializeLazyObject()->debug(...\func_get_args()); - } - - public function decr($key) - { - return $this->initializeLazyObject()->decr(...\func_get_args()); - } - - public function decrBy($key, $value) - { - return $this->initializeLazyObject()->decrBy(...\func_get_args()); - } - - public function del($key, ...$other_keys) - { - return $this->initializeLazyObject()->del(...\func_get_args()); - } - - public function discard() - { - return $this->initializeLazyObject()->discard(...\func_get_args()); - } - - public function dump($key) - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function echo($msg) - { - return $this->initializeLazyObject()->echo(...\func_get_args()); - } - - public function eval($script, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->eval(...\func_get_args()); - } - - public function evalsha($script_sha, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); - } - - public function exec() - { - return $this->initializeLazyObject()->exec(...\func_get_args()); - } - - public function exists($key, ...$other_keys) - { - return $this->initializeLazyObject()->exists(...\func_get_args()); - } - - public function expire($key, $timeout) - { - return $this->initializeLazyObject()->expire(...\func_get_args()); - } - - public function expireAt($key, $timestamp) - { - return $this->initializeLazyObject()->expireAt(...\func_get_args()); - } - - public function flushAll($async = null) - { - return $this->initializeLazyObject()->flushAll(...\func_get_args()); - } - - public function flushDB($async = null) - { - return $this->initializeLazyObject()->flushDB(...\func_get_args()); - } - - public function geoadd($key, $lng, $lat, $member, ...$other_triples) - { - return $this->initializeLazyObject()->geoadd(...\func_get_args()); - } - - public function geodist($key, $src, $dst, $unit = null) - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function geohash($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->geohash(...\func_get_args()); - } - - public function geopos($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->geopos(...\func_get_args()); - } - - public function georadius($key, $lng, $lan, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadius(...\func_get_args()); - } - - public function georadius_ro($key, $lng, $lan, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); - } - - public function georadiusbymember($key, $member, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); - } - - public function georadiusbymember_ro($key, $member, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); - } - - public function get($key) - { - return $this->initializeLazyObject()->get(...\func_get_args()); - } - - public function getAuth() - { - return $this->initializeLazyObject()->getAuth(...\func_get_args()); - } - - public function getBit($key, $offset) - { - return $this->initializeLazyObject()->getBit(...\func_get_args()); - } - - public function getDBNum() - { - return $this->initializeLazyObject()->getDBNum(...\func_get_args()); - } - - public function getHost() - { - return $this->initializeLazyObject()->getHost(...\func_get_args()); - } - - public function getLastError() - { - return $this->initializeLazyObject()->getLastError(...\func_get_args()); - } - - public function getMode() - { - return $this->initializeLazyObject()->getMode(...\func_get_args()); - } - - public function getOption($option) - { - return $this->initializeLazyObject()->getOption(...\func_get_args()); - } - - public function getPersistentID() - { - return $this->initializeLazyObject()->getPersistentID(...\func_get_args()); - } - - public function getPort() - { - return $this->initializeLazyObject()->getPort(...\func_get_args()); - } - - public function getRange($key, $start, $end) - { - return $this->initializeLazyObject()->getRange(...\func_get_args()); - } - - public function getReadTimeout() - { - return $this->initializeLazyObject()->getReadTimeout(...\func_get_args()); - } - - public function getSet($key, $value) - { - return $this->initializeLazyObject()->getSet(...\func_get_args()); - } - - public function getTimeout() - { - return $this->initializeLazyObject()->getTimeout(...\func_get_args()); - } - - public function hDel($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->hDel(...\func_get_args()); - } - - public function hExists($key, $member) - { - return $this->initializeLazyObject()->hExists(...\func_get_args()); - } - - public function hGet($key, $member) - { - return $this->initializeLazyObject()->hGet(...\func_get_args()); - } - - public function hGetAll($key) - { - return $this->initializeLazyObject()->hGetAll(...\func_get_args()); - } - - public function hIncrBy($key, $member, $value) - { - return $this->initializeLazyObject()->hIncrBy(...\func_get_args()); - } - - public function hIncrByFloat($key, $member, $value) - { - return $this->initializeLazyObject()->hIncrByFloat(...\func_get_args()); - } - - public function hKeys($key) - { - return $this->initializeLazyObject()->hKeys(...\func_get_args()); - } - - public function hLen($key) - { - return $this->initializeLazyObject()->hLen(...\func_get_args()); - } - - public function hMget($key, $keys) - { - return $this->initializeLazyObject()->hMget(...\func_get_args()); - } - - public function hMset($key, $pairs) - { - return $this->initializeLazyObject()->hMset(...\func_get_args()); - } - - public function hSet($key, $member, $value) - { - return $this->initializeLazyObject()->hSet(...\func_get_args()); - } - - public function hSetNx($key, $member, $value) - { - return $this->initializeLazyObject()->hSetNx(...\func_get_args()); - } - - public function hStrLen($key, $member) - { - return $this->initializeLazyObject()->hStrLen(...\func_get_args()); - } - - public function hVals($key) - { - return $this->initializeLazyObject()->hVals(...\func_get_args()); - } - - public function hscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->hscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function incr($key) - { - return $this->initializeLazyObject()->incr(...\func_get_args()); - } - - public function incrBy($key, $value) - { - return $this->initializeLazyObject()->incrBy(...\func_get_args()); - } - - public function incrByFloat($key, $value) - { - return $this->initializeLazyObject()->incrByFloat(...\func_get_args()); - } - - public function info($option = null) - { - return $this->initializeLazyObject()->info(...\func_get_args()); - } - - public function isConnected() - { - return $this->initializeLazyObject()->isConnected(...\func_get_args()); - } - - public function keys($pattern) - { - return $this->initializeLazyObject()->keys(...\func_get_args()); - } - - public function lInsert($key, $position, $pivot, $value) - { - return $this->initializeLazyObject()->lInsert(...\func_get_args()); - } - - public function lLen($key) - { - return $this->initializeLazyObject()->lLen(...\func_get_args()); - } - - public function lPop($key) - { - return $this->initializeLazyObject()->lPop(...\func_get_args()); - } - - public function lPush($key, $value) - { - return $this->initializeLazyObject()->lPush(...\func_get_args()); - } - - public function lPushx($key, $value) - { - return $this->initializeLazyObject()->lPushx(...\func_get_args()); - } - - public function lSet($key, $index, $value) - { - return $this->initializeLazyObject()->lSet(...\func_get_args()); - } - - public function lastSave() - { - return $this->initializeLazyObject()->lastSave(...\func_get_args()); - } - - public function lindex($key, $index) - { - return $this->initializeLazyObject()->lindex(...\func_get_args()); - } - - public function lrange($key, $start, $end) - { - return $this->initializeLazyObject()->lrange(...\func_get_args()); - } - - public function lrem($key, $value, $count) - { - return $this->initializeLazyObject()->lrem(...\func_get_args()); - } - - public function ltrim($key, $start, $stop) - { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); - } - - public function mget($keys) - { - return $this->initializeLazyObject()->mget(...\func_get_args()); - } - - public function migrate($host, $port, $key, $db, $timeout, $copy = null, $replace = null) - { - return $this->initializeLazyObject()->migrate(...\func_get_args()); - } - - public function move($key, $dbindex) - { - return $this->initializeLazyObject()->move(...\func_get_args()); - } - - public function mset($pairs) - { - return $this->initializeLazyObject()->mset(...\func_get_args()); - } - - public function msetnx($pairs) - { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); - } - - public function multi($mode = null) - { - return $this->initializeLazyObject()->multi(...\func_get_args()); - } - - public function object($field, $key) - { - return $this->initializeLazyObject()->object(...\func_get_args()); - } - - public function pconnect($host, $port = null, $timeout = null) - { - return $this->initializeLazyObject()->pconnect(...\func_get_args()); - } - - public function persist($key) - { - return $this->initializeLazyObject()->persist(...\func_get_args()); - } - - public function pexpire($key, $timestamp) - { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); - } - - public function pexpireAt($key, $timestamp) - { - return $this->initializeLazyObject()->pexpireAt(...\func_get_args()); - } - - public function pfadd($key, $elements) - { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); - } - - public function pfcount($key) - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - - public function pfmerge($dstkey, $keys) - { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); - } - - public function ping() - { - return $this->initializeLazyObject()->ping(...\func_get_args()); - } - - public function pipeline() - { - return $this->initializeLazyObject()->pipeline(...\func_get_args()); - } - - public function psetex($key, $expire, $value) - { - return $this->initializeLazyObject()->psetex(...\func_get_args()); - } - - public function psubscribe($patterns, $callback) - { - return $this->initializeLazyObject()->psubscribe(...\func_get_args()); - } - - public function pttl($key) - { - return $this->initializeLazyObject()->pttl(...\func_get_args()); - } - - public function publish($channel, $message) - { - return $this->initializeLazyObject()->publish(...\func_get_args()); - } - - public function pubsub($cmd, ...$args) - { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); - } - - public function punsubscribe($pattern, ...$other_patterns) - { - return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); - } - - public function rPop($key) - { - return $this->initializeLazyObject()->rPop(...\func_get_args()); - } - - public function rPush($key, $value) - { - return $this->initializeLazyObject()->rPush(...\func_get_args()); - } - - public function rPushx($key, $value) - { - return $this->initializeLazyObject()->rPushx(...\func_get_args()); - } - - public function randomKey() - { - return $this->initializeLazyObject()->randomKey(...\func_get_args()); - } - - public function rawcommand($cmd, ...$args) - { - return $this->initializeLazyObject()->rawcommand(...\func_get_args()); - } - - public function rename($key, $newkey) - { - return $this->initializeLazyObject()->rename(...\func_get_args()); - } - - public function renameNx($key, $newkey) - { - return $this->initializeLazyObject()->renameNx(...\func_get_args()); - } - - public function restore($ttl, $key, $value) - { - return $this->initializeLazyObject()->restore(...\func_get_args()); - } - - public function role() - { - return $this->initializeLazyObject()->role(...\func_get_args()); - } - - public function rpoplpush($src, $dst) - { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); - } - - public function sAdd($key, $value) - { - return $this->initializeLazyObject()->sAdd(...\func_get_args()); - } - - public function sAddArray($key, $options) - { - return $this->initializeLazyObject()->sAddArray(...\func_get_args()); - } - - public function sDiff($key, ...$other_keys) - { - return $this->initializeLazyObject()->sDiff(...\func_get_args()); - } - - public function sDiffStore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sDiffStore(...\func_get_args()); - } - - public function sInter($key, ...$other_keys) - { - return $this->initializeLazyObject()->sInter(...\func_get_args()); - } - - public function sInterStore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sInterStore(...\func_get_args()); - } - - public function sMembers($key) - { - return $this->initializeLazyObject()->sMembers(...\func_get_args()); - } - - public function sMisMember($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->sMisMember(...\func_get_args()); - } - - public function sMove($src, $dst, $value) - { - return $this->initializeLazyObject()->sMove(...\func_get_args()); - } - - public function sPop($key) - { - return $this->initializeLazyObject()->sPop(...\func_get_args()); - } - - public function sRandMember($key, $count = null) - { - return $this->initializeLazyObject()->sRandMember(...\func_get_args()); - } - - public function sUnion($key, ...$other_keys) - { - return $this->initializeLazyObject()->sUnion(...\func_get_args()); - } - - public function sUnionStore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sUnionStore(...\func_get_args()); - } - - public function save() - { - return $this->initializeLazyObject()->save(...\func_get_args()); - } - - public function scan(&$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->scan($i_iterator, ...\array_slice(\func_get_args(), 1)); - } - - public function scard($key) - { - return $this->initializeLazyObject()->scard(...\func_get_args()); - } - - public function script($cmd, ...$args) - { - return $this->initializeLazyObject()->script(...\func_get_args()); - } - - public function select($dbindex) - { - return $this->initializeLazyObject()->select(...\func_get_args()); - } - - public function set($key, $value, $opts = null) - { - return $this->initializeLazyObject()->set(...\func_get_args()); - } - - public function setBit($key, $offset, $value) - { - return $this->initializeLazyObject()->setBit(...\func_get_args()); - } - - public function setOption($option, $value) - { - return $this->initializeLazyObject()->setOption(...\func_get_args()); - } - - public function setRange($key, $offset, $value) - { - return $this->initializeLazyObject()->setRange(...\func_get_args()); - } - - public function setex($key, $expire, $value) - { - return $this->initializeLazyObject()->setex(...\func_get_args()); - } - - public function setnx($key, $value) - { - return $this->initializeLazyObject()->setnx(...\func_get_args()); - } - - public function sismember($key, $value) - { - return $this->initializeLazyObject()->sismember(...\func_get_args()); - } - - public function slaveof($host = null, $port = null) - { - return $this->initializeLazyObject()->slaveof(...\func_get_args()); - } - - public function slowlog($arg, $option = null) - { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); - } - - public function sort($key, $options = null) - { - return $this->initializeLazyObject()->sort(...\func_get_args()); - } - - public function sortAsc($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) - { - return $this->initializeLazyObject()->sortAsc(...\func_get_args()); - } - - public function sortAscAlpha($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) - { - return $this->initializeLazyObject()->sortAscAlpha(...\func_get_args()); - } - - public function sortDesc($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) - { - return $this->initializeLazyObject()->sortDesc(...\func_get_args()); - } - - public function sortDescAlpha($key, $pattern = null, $get = null, $start = null, $end = null, $getList = null) - { - return $this->initializeLazyObject()->sortDescAlpha(...\func_get_args()); - } - - public function srem($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->srem(...\func_get_args()); - } - - public function sscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->sscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function strlen($key) - { - return $this->initializeLazyObject()->strlen(...\func_get_args()); - } - - public function subscribe($channels, $callback) - { - return $this->initializeLazyObject()->subscribe(...\func_get_args()); - } - - public function swapdb($srcdb, $dstdb) - { - return $this->initializeLazyObject()->swapdb(...\func_get_args()); - } - - public function time() - { - return $this->initializeLazyObject()->time(...\func_get_args()); - } - - public function ttl($key) - { - return $this->initializeLazyObject()->ttl(...\func_get_args()); - } - - public function type($key) - { - return $this->initializeLazyObject()->type(...\func_get_args()); - } - - public function unlink($key, ...$other_keys) - { - return $this->initializeLazyObject()->unlink(...\func_get_args()); - } - - public function unsubscribe($channel, ...$other_channels) - { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); - } - - public function unwatch() - { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); - } - - public function wait($numslaves, $timeout) - { - return $this->initializeLazyObject()->wait(...\func_get_args()); - } - - public function watch($key, ...$other_keys) - { - return $this->initializeLazyObject()->watch(...\func_get_args()); - } - - public function xack($str_key, $str_group, $arr_ids) - { - return $this->initializeLazyObject()->xack(...\func_get_args()); - } - - public function xadd($str_key, $str_id, $arr_fields, $i_maxlen = null, $boo_approximate = null) - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function xclaim($str_key, $str_group, $str_consumer, $i_min_idle, $arr_ids, $arr_opts = null) - { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); - } - - public function xdel($str_key, $arr_ids) - { - return $this->initializeLazyObject()->xdel(...\func_get_args()); - } - - public function xgroup($str_operation, $str_key = null, $str_arg1 = null, $str_arg2 = null, $str_arg3 = null) - { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); - } - - public function xinfo($str_cmd, $str_key = null, $str_group = null) - { - return $this->initializeLazyObject()->xinfo(...\func_get_args()); - } - - public function xlen($key) - { - return $this->initializeLazyObject()->xlen(...\func_get_args()); - } - - public function xpending($str_key, $str_group, $str_start = null, $str_end = null, $i_count = null, $str_consumer = null) - { - return $this->initializeLazyObject()->xpending(...\func_get_args()); - } - - public function xrange($str_key, $str_start, $str_end, $i_count = null) - { - return $this->initializeLazyObject()->xrange(...\func_get_args()); - } - - public function xread($arr_streams, $i_count = null, $i_block = null) - { - return $this->initializeLazyObject()->xread(...\func_get_args()); - } - - public function xreadgroup($str_group, $str_consumer, $arr_streams, $i_count = null, $i_block = null) - { - return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); - } - - public function xrevrange($str_key, $str_start, $str_end, $i_count = null) - { - return $this->initializeLazyObject()->xrevrange(...\func_get_args()); - } - - public function xtrim($str_key, $i_maxlen, $boo_approximate = null) - { - return $this->initializeLazyObject()->xtrim(...\func_get_args()); - } - - public function zAdd($key, $score, $value, ...$extra_args) - { - return $this->initializeLazyObject()->zAdd(...\func_get_args()); - } - - public function zCard($key) - { - return $this->initializeLazyObject()->zCard(...\func_get_args()); - } - - public function zCount($key, $min, $max) - { - return $this->initializeLazyObject()->zCount(...\func_get_args()); - } - - public function zIncrBy($key, $value, $member) - { - return $this->initializeLazyObject()->zIncrBy(...\func_get_args()); - } - - public function zLexCount($key, $min, $max) - { - return $this->initializeLazyObject()->zLexCount(...\func_get_args()); - } - - public function zPopMax($key) - { - return $this->initializeLazyObject()->zPopMax(...\func_get_args()); - } - - public function zPopMin($key) - { - return $this->initializeLazyObject()->zPopMin(...\func_get_args()); - } - - public function zRange($key, $start, $end, $scores = null) - { - return $this->initializeLazyObject()->zRange(...\func_get_args()); - } - - public function zRangeByLex($key, $min, $max, $offset = null, $limit = null) - { - return $this->initializeLazyObject()->zRangeByLex(...\func_get_args()); - } - - public function zRangeByScore($key, $start, $end, $options = null) - { - return $this->initializeLazyObject()->zRangeByScore(...\func_get_args()); - } - - public function zRank($key, $member) - { - return $this->initializeLazyObject()->zRank(...\func_get_args()); - } - - public function zRem($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->zRem(...\func_get_args()); - } - - public function zRemRangeByLex($key, $min, $max) - { - return $this->initializeLazyObject()->zRemRangeByLex(...\func_get_args()); - } - - public function zRemRangeByRank($key, $start, $end) - { - return $this->initializeLazyObject()->zRemRangeByRank(...\func_get_args()); - } - - public function zRemRangeByScore($key, $min, $max) - { - return $this->initializeLazyObject()->zRemRangeByScore(...\func_get_args()); - } - - public function zRevRange($key, $start, $end, $scores = null) - { - return $this->initializeLazyObject()->zRevRange(...\func_get_args()); - } - - public function zRevRangeByLex($key, $min, $max, $offset = null, $limit = null) - { - return $this->initializeLazyObject()->zRevRangeByLex(...\func_get_args()); - } - - public function zRevRangeByScore($key, $start, $end, $options = null) - { - return $this->initializeLazyObject()->zRevRangeByScore(...\func_get_args()); - } - - public function zRevRank($key, $member) - { - return $this->initializeLazyObject()->zRevRank(...\func_get_args()); - } - - public function zScore($key, $member) - { - return $this->initializeLazyObject()->zScore(...\func_get_args()); - } - - public function zinterstore($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); - } - - public function zscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->zscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function zunionstore($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); - } - - public function delete($key, ...$other_keys) - { - return $this->initializeLazyObject()->delete(...\func_get_args()); - } - - public function evaluate($script, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->evaluate(...\func_get_args()); - } - - public function evaluateSha($script_sha, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->evaluateSha(...\func_get_args()); - } - - public function getKeys($pattern) - { - return $this->initializeLazyObject()->getKeys(...\func_get_args()); - } - - public function getMultiple($keys) - { - return $this->initializeLazyObject()->getMultiple(...\func_get_args()); - } - - public function lGet($key, $index) - { - return $this->initializeLazyObject()->lGet(...\func_get_args()); - } - - public function lGetRange($key, $start, $end) - { - return $this->initializeLazyObject()->lGetRange(...\func_get_args()); - } - - public function lRemove($key, $value, $count) - { - return $this->initializeLazyObject()->lRemove(...\func_get_args()); - } - - public function lSize($key) - { - return $this->initializeLazyObject()->lSize(...\func_get_args()); - } - - public function listTrim($key, $start, $stop) - { - return $this->initializeLazyObject()->listTrim(...\func_get_args()); - } - - public function open($host, $port = null, $timeout = null, $retry_interval = null) - { - return $this->initializeLazyObject()->open(...\func_get_args()); - } - - public function popen($host, $port = null, $timeout = null) - { - return $this->initializeLazyObject()->popen(...\func_get_args()); - } - - public function renameKey($key, $newkey) - { - return $this->initializeLazyObject()->renameKey(...\func_get_args()); - } - - public function sContains($key, $value) - { - return $this->initializeLazyObject()->sContains(...\func_get_args()); - } - - public function sGetMembers($key) - { - return $this->initializeLazyObject()->sGetMembers(...\func_get_args()); - } - - public function sRemove($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->sRemove(...\func_get_args()); - } - - public function sSize($key) - { - return $this->initializeLazyObject()->sSize(...\func_get_args()); - } - - public function sendEcho($msg) - { - return $this->initializeLazyObject()->sendEcho(...\func_get_args()); - } - - public function setTimeout($key, $timeout) - { - return $this->initializeLazyObject()->setTimeout(...\func_get_args()); - } - - public function substr($key, $start, $end) - { - return $this->initializeLazyObject()->substr(...\func_get_args()); - } - - public function zDelete($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->zDelete(...\func_get_args()); - } - - public function zDeleteRangeByRank($key, $min, $max) - { - return $this->initializeLazyObject()->zDeleteRangeByRank(...\func_get_args()); - } - - public function zDeleteRangeByScore($key, $min, $max) - { - return $this->initializeLazyObject()->zDeleteRangeByScore(...\func_get_args()); - } - - public function zInter($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zInter(...\func_get_args()); - } - - public function zRemove($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->zRemove(...\func_get_args()); - } - - public function zRemoveRangeByScore($key, $min, $max) - { - return $this->initializeLazyObject()->zRemoveRangeByScore(...\func_get_args()); - } - - public function zReverseRange($key, $start, $end, $scores = null) - { - return $this->initializeLazyObject()->zReverseRange(...\func_get_args()); - } - - public function zSize($key) - { - return $this->initializeLazyObject()->zSize(...\func_get_args()); - } - - public function zUnion($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zUnion(...\func_get_args()); - } -} diff --git a/Traits/Redis6Proxy.php b/Traits/Redis6Proxy.php deleted file mode 100644 index c7e05cd..0000000 --- a/Traits/Redis6Proxy.php +++ /dev/null @@ -1,1266 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -use Symfony\Component\VarExporter\LazyObjectInterface; -use Symfony\Contracts\Service\ResetInterface; - -// Help opcache.preload discover always-needed symbols -class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); - -/** - * @internal - */ -class Redis6Proxy extends \Redis implements ResetInterface, LazyObjectInterface -{ - use Redis6ProxyTrait; - use RedisProxyTrait { - resetLazyObject as reset; - } - - public function __construct($options = null) - { - $this->initializeLazyObject()->__construct(...\func_get_args()); - } - - public function _compress($value): string - { - return $this->initializeLazyObject()->_compress(...\func_get_args()); - } - - public function _uncompress($value): string - { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); - } - - public function _prefix($key): string - { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); - } - - public function _serialize($value): string - { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); - } - - public function _unserialize($value): mixed - { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); - } - - public function _pack($value): string - { - return $this->initializeLazyObject()->_pack(...\func_get_args()); - } - - public function _unpack($value): mixed - { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); - } - - public function acl($subcmd, ...$args): mixed - { - return $this->initializeLazyObject()->acl(...\func_get_args()); - } - - public function append($key, $value): \Redis|false|int - { - return $this->initializeLazyObject()->append(...\func_get_args()); - } - - public function auth(#[\SensitiveParameter] $credentials): \Redis|bool - { - return $this->initializeLazyObject()->auth(...\func_get_args()); - } - - public function bgSave(): \Redis|bool - { - return $this->initializeLazyObject()->bgSave(...\func_get_args()); - } - - public function bgrewriteaof(): \Redis|bool - { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); - } - - public function bitcount($key, $start = 0, $end = -1, $bybit = false): \Redis|false|int - { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); - } - - public function bitop($operation, $deskey, $srckey, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->bitop(...\func_get_args()); - } - - public function bitpos($key, $bit, $start = 0, $end = -1, $bybit = false): \Redis|false|int - { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); - } - - public function blPop($key_or_keys, $timeout_or_key, ...$extra_args): \Redis|array|false|null - { - return $this->initializeLazyObject()->blPop(...\func_get_args()); - } - - public function brPop($key_or_keys, $timeout_or_key, ...$extra_args): \Redis|array|false|null - { - return $this->initializeLazyObject()->brPop(...\func_get_args()); - } - - public function brpoplpush($src, $dst, $timeout): \Redis|false|string - { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); - } - - public function bzPopMax($key, $timeout_or_key, ...$extra_args): \Redis|array|false - { - return $this->initializeLazyObject()->bzPopMax(...\func_get_args()); - } - - public function bzPopMin($key, $timeout_or_key, ...$extra_args): \Redis|array|false - { - return $this->initializeLazyObject()->bzPopMin(...\func_get_args()); - } - - public function bzmpop($timeout, $keys, $from, $count = 1): \Redis|array|false|null - { - return $this->initializeLazyObject()->bzmpop(...\func_get_args()); - } - - public function zmpop($keys, $from, $count = 1): \Redis|array|false|null - { - return $this->initializeLazyObject()->zmpop(...\func_get_args()); - } - - public function blmpop($timeout, $keys, $from, $count = 1): \Redis|array|false|null - { - return $this->initializeLazyObject()->blmpop(...\func_get_args()); - } - - public function lmpop($keys, $from, $count = 1): \Redis|array|false|null - { - return $this->initializeLazyObject()->lmpop(...\func_get_args()); - } - - public function clearLastError(): bool - { - return $this->initializeLazyObject()->clearLastError(...\func_get_args()); - } - - public function client($opt, ...$args): mixed - { - return $this->initializeLazyObject()->client(...\func_get_args()); - } - - public function close(): bool - { - return $this->initializeLazyObject()->close(...\func_get_args()); - } - - public function command($opt = null, ...$args): mixed - { - return $this->initializeLazyObject()->command(...\func_get_args()); - } - - public function config($operation, $key_or_settings = null, $value = null): mixed - { - return $this->initializeLazyObject()->config(...\func_get_args()); - } - - public function connect($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool - { - return $this->initializeLazyObject()->connect(...\func_get_args()); - } - - public function copy($src, $dst, $options = null): \Redis|bool - { - return $this->initializeLazyObject()->copy(...\func_get_args()); - } - - public function dbSize(): \Redis|false|int - { - return $this->initializeLazyObject()->dbSize(...\func_get_args()); - } - - public function debug($key): \Redis|string - { - return $this->initializeLazyObject()->debug(...\func_get_args()); - } - - public function decr($key, $by = 1): \Redis|false|int - { - return $this->initializeLazyObject()->decr(...\func_get_args()); - } - - public function decrBy($key, $value): \Redis|false|int - { - return $this->initializeLazyObject()->decrBy(...\func_get_args()); - } - - public function del($key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->del(...\func_get_args()); - } - - public function delete($key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->delete(...\func_get_args()); - } - - public function discard(): \Redis|bool - { - return $this->initializeLazyObject()->discard(...\func_get_args()); - } - - public function echo($str): \Redis|false|string - { - return $this->initializeLazyObject()->echo(...\func_get_args()); - } - - public function eval($script, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->eval(...\func_get_args()); - } - - public function eval_ro($script_sha, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->eval_ro(...\func_get_args()); - } - - public function evalsha($sha1, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); - } - - public function evalsha_ro($sha1, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); - } - - public function exec(): \Redis|array|false - { - return $this->initializeLazyObject()->exec(...\func_get_args()); - } - - public function exists($key, ...$other_keys): \Redis|bool|int - { - return $this->initializeLazyObject()->exists(...\func_get_args()); - } - - public function expire($key, $timeout, $mode = null): \Redis|bool - { - return $this->initializeLazyObject()->expire(...\func_get_args()); - } - - public function expireAt($key, $timestamp, $mode = null): \Redis|bool - { - return $this->initializeLazyObject()->expireAt(...\func_get_args()); - } - - public function failover($to = null, $abort = false, $timeout = 0): \Redis|bool - { - return $this->initializeLazyObject()->failover(...\func_get_args()); - } - - public function expiretime($key): \Redis|false|int - { - return $this->initializeLazyObject()->expiretime(...\func_get_args()); - } - - public function pexpiretime($key): \Redis|false|int - { - return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); - } - - public function fcall($fn, $keys = [], $args = []): mixed - { - return $this->initializeLazyObject()->fcall(...\func_get_args()); - } - - public function fcall_ro($fn, $keys = [], $args = []): mixed - { - return $this->initializeLazyObject()->fcall_ro(...\func_get_args()); - } - - public function flushAll($sync = null): \Redis|bool - { - return $this->initializeLazyObject()->flushAll(...\func_get_args()); - } - - public function flushDB($sync = null): \Redis|bool - { - return $this->initializeLazyObject()->flushDB(...\func_get_args()); - } - - public function function($operation, ...$args): \Redis|array|bool|string - { - return $this->initializeLazyObject()->function(...\func_get_args()); - } - - public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \Redis|false|int - { - return $this->initializeLazyObject()->geoadd(...\func_get_args()); - } - - public function geodist($key, $src, $dst, $unit = null): \Redis|false|float - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function geohash($key, $member, ...$other_members): \Redis|array|false - { - return $this->initializeLazyObject()->geohash(...\func_get_args()); - } - - public function geopos($key, $member, ...$other_members): \Redis|array|false - { - return $this->initializeLazyObject()->geopos(...\func_get_args()); - } - - public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadius(...\func_get_args()); - } - - public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); - } - - public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); - } - - public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); - } - - public function geosearch($key, $position, $shape, $unit, $options = []): array - { - return $this->initializeLazyObject()->geosearch(...\func_get_args()); - } - - public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \Redis|array|false|int - { - return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); - } - - public function get($key): mixed - { - return $this->initializeLazyObject()->get(...\func_get_args()); - } - - public function getAuth(): mixed - { - return $this->initializeLazyObject()->getAuth(...\func_get_args()); - } - - public function getBit($key, $idx): \Redis|false|int - { - return $this->initializeLazyObject()->getBit(...\func_get_args()); - } - - public function getEx($key, $options = []): \Redis|bool|string - { - return $this->initializeLazyObject()->getEx(...\func_get_args()); - } - - public function getDBNum(): int - { - return $this->initializeLazyObject()->getDBNum(...\func_get_args()); - } - - public function getDel($key): \Redis|bool|string - { - return $this->initializeLazyObject()->getDel(...\func_get_args()); - } - - public function getHost(): string - { - return $this->initializeLazyObject()->getHost(...\func_get_args()); - } - - public function getLastError(): ?string - { - return $this->initializeLazyObject()->getLastError(...\func_get_args()); - } - - public function getMode(): int - { - return $this->initializeLazyObject()->getMode(...\func_get_args()); - } - - public function getOption($option): mixed - { - return $this->initializeLazyObject()->getOption(...\func_get_args()); - } - - public function getPersistentID(): ?string - { - return $this->initializeLazyObject()->getPersistentID(...\func_get_args()); - } - - public function getPort(): int - { - return $this->initializeLazyObject()->getPort(...\func_get_args()); - } - - public function getRange($key, $start, $end): \Redis|false|string - { - return $this->initializeLazyObject()->getRange(...\func_get_args()); - } - - public function lcs($key1, $key2, $options = null): \Redis|array|false|int|string - { - return $this->initializeLazyObject()->lcs(...\func_get_args()); - } - - public function getReadTimeout(): float - { - return $this->initializeLazyObject()->getReadTimeout(...\func_get_args()); - } - - public function getset($key, $value): \Redis|false|string - { - return $this->initializeLazyObject()->getset(...\func_get_args()); - } - - public function getTimeout(): false|float - { - return $this->initializeLazyObject()->getTimeout(...\func_get_args()); - } - - public function getTransferredBytes(): array - { - return $this->initializeLazyObject()->getTransferredBytes(...\func_get_args()); - } - - public function clearTransferredBytes(): void - { - $this->initializeLazyObject()->clearTransferredBytes(...\func_get_args()); - } - - public function hDel($key, $field, ...$other_fields): \Redis|false|int - { - return $this->initializeLazyObject()->hDel(...\func_get_args()); - } - - public function hExists($key, $field): \Redis|bool - { - return $this->initializeLazyObject()->hExists(...\func_get_args()); - } - - public function hGet($key, $member): mixed - { - return $this->initializeLazyObject()->hGet(...\func_get_args()); - } - - public function hGetAll($key): \Redis|array|false - { - return $this->initializeLazyObject()->hGetAll(...\func_get_args()); - } - - public function hIncrBy($key, $field, $value): \Redis|false|int - { - return $this->initializeLazyObject()->hIncrBy(...\func_get_args()); - } - - public function hIncrByFloat($key, $field, $value): \Redis|false|float - { - return $this->initializeLazyObject()->hIncrByFloat(...\func_get_args()); - } - - public function hKeys($key): \Redis|array|false - { - return $this->initializeLazyObject()->hKeys(...\func_get_args()); - } - - public function hLen($key): \Redis|false|int - { - return $this->initializeLazyObject()->hLen(...\func_get_args()); - } - - public function hMget($key, $fields): \Redis|array|false - { - return $this->initializeLazyObject()->hMget(...\func_get_args()); - } - - public function hMset($key, $fieldvals): \Redis|bool - { - return $this->initializeLazyObject()->hMset(...\func_get_args()); - } - - public function hSetNx($key, $field, $value): \Redis|bool - { - return $this->initializeLazyObject()->hSetNx(...\func_get_args()); - } - - public function hStrLen($key, $field): \Redis|false|int - { - return $this->initializeLazyObject()->hStrLen(...\func_get_args()); - } - - public function hVals($key): \Redis|array|false - { - return $this->initializeLazyObject()->hVals(...\func_get_args()); - } - - public function hscan($key, &$iterator, $pattern = null, $count = 0): \Redis|array|bool - { - return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function incr($key, $by = 1): \Redis|false|int - { - return $this->initializeLazyObject()->incr(...\func_get_args()); - } - - public function incrBy($key, $value): \Redis|false|int - { - return $this->initializeLazyObject()->incrBy(...\func_get_args()); - } - - public function incrByFloat($key, $value): \Redis|false|float - { - return $this->initializeLazyObject()->incrByFloat(...\func_get_args()); - } - - public function info(...$sections): \Redis|array|false - { - return $this->initializeLazyObject()->info(...\func_get_args()); - } - - public function isConnected(): bool - { - return $this->initializeLazyObject()->isConnected(...\func_get_args()); - } - - public function keys($pattern) - { - return $this->initializeLazyObject()->keys(...\func_get_args()); - } - - public function lInsert($key, $pos, $pivot, $value) - { - return $this->initializeLazyObject()->lInsert(...\func_get_args()); - } - - public function lLen($key): \Redis|false|int - { - return $this->initializeLazyObject()->lLen(...\func_get_args()); - } - - public function lMove($src, $dst, $wherefrom, $whereto): \Redis|false|string - { - return $this->initializeLazyObject()->lMove(...\func_get_args()); - } - - public function blmove($src, $dst, $wherefrom, $whereto, $timeout): \Redis|false|string - { - return $this->initializeLazyObject()->blmove(...\func_get_args()); - } - - public function lPop($key, $count = 0): \Redis|array|bool|string - { - return $this->initializeLazyObject()->lPop(...\func_get_args()); - } - - public function lPos($key, $value, $options = null): \Redis|array|bool|int|null - { - return $this->initializeLazyObject()->lPos(...\func_get_args()); - } - - public function lPush($key, ...$elements): \Redis|false|int - { - return $this->initializeLazyObject()->lPush(...\func_get_args()); - } - - public function rPush($key, ...$elements): \Redis|false|int - { - return $this->initializeLazyObject()->rPush(...\func_get_args()); - } - - public function lPushx($key, $value): \Redis|false|int - { - return $this->initializeLazyObject()->lPushx(...\func_get_args()); - } - - public function rPushx($key, $value): \Redis|false|int - { - return $this->initializeLazyObject()->rPushx(...\func_get_args()); - } - - public function lSet($key, $index, $value): \Redis|bool - { - return $this->initializeLazyObject()->lSet(...\func_get_args()); - } - - public function lastSave(): int - { - return $this->initializeLazyObject()->lastSave(...\func_get_args()); - } - - public function lindex($key, $index): mixed - { - return $this->initializeLazyObject()->lindex(...\func_get_args()); - } - - public function lrange($key, $start, $end): \Redis|array|false - { - return $this->initializeLazyObject()->lrange(...\func_get_args()); - } - - public function lrem($key, $value, $count = 0): \Redis|false|int - { - return $this->initializeLazyObject()->lrem(...\func_get_args()); - } - - public function ltrim($key, $start, $end): \Redis|bool - { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); - } - - public function migrate($host, $port, $key, $dstdb, $timeout, $copy = false, $replace = false, #[\SensitiveParameter] $credentials = null): \Redis|bool - { - return $this->initializeLazyObject()->migrate(...\func_get_args()); - } - - public function move($key, $index): \Redis|bool - { - return $this->initializeLazyObject()->move(...\func_get_args()); - } - - public function mset($key_values): \Redis|bool - { - return $this->initializeLazyObject()->mset(...\func_get_args()); - } - - public function msetnx($key_values): \Redis|bool - { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); - } - - public function multi($value = \Redis::MULTI): \Redis|bool - { - return $this->initializeLazyObject()->multi(...\func_get_args()); - } - - public function object($subcommand, $key): \Redis|false|int|string - { - return $this->initializeLazyObject()->object(...\func_get_args()); - } - - public function open($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool - { - return $this->initializeLazyObject()->open(...\func_get_args()); - } - - public function pconnect($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool - { - return $this->initializeLazyObject()->pconnect(...\func_get_args()); - } - - public function persist($key): \Redis|bool - { - return $this->initializeLazyObject()->persist(...\func_get_args()); - } - - public function pexpire($key, $timeout, $mode = null): bool - { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); - } - - public function pexpireAt($key, $timestamp, $mode = null): \Redis|bool - { - return $this->initializeLazyObject()->pexpireAt(...\func_get_args()); - } - - public function pfadd($key, $elements): \Redis|int - { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); - } - - public function pfcount($key_or_keys): \Redis|false|int - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - - public function pfmerge($dst, $srckeys): \Redis|bool - { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); - } - - public function ping($message = null): \Redis|bool|string - { - return $this->initializeLazyObject()->ping(...\func_get_args()); - } - - public function pipeline(): \Redis|bool - { - return $this->initializeLazyObject()->pipeline(...\func_get_args()); - } - - public function popen($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool - { - return $this->initializeLazyObject()->popen(...\func_get_args()); - } - - public function psetex($key, $expire, $value): \Redis|bool - { - return $this->initializeLazyObject()->psetex(...\func_get_args()); - } - - public function psubscribe($patterns, $cb): bool - { - return $this->initializeLazyObject()->psubscribe(...\func_get_args()); - } - - public function pttl($key): \Redis|false|int - { - return $this->initializeLazyObject()->pttl(...\func_get_args()); - } - - public function publish($channel, $message): \Redis|false|int - { - return $this->initializeLazyObject()->publish(...\func_get_args()); - } - - public function pubsub($command, $arg = null): mixed - { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); - } - - public function punsubscribe($patterns): \Redis|array|bool - { - return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); - } - - public function rPop($key, $count = 0): \Redis|array|bool|string - { - return $this->initializeLazyObject()->rPop(...\func_get_args()); - } - - public function randomKey(): \Redis|false|string - { - return $this->initializeLazyObject()->randomKey(...\func_get_args()); - } - - public function rawcommand($command, ...$args): mixed - { - return $this->initializeLazyObject()->rawcommand(...\func_get_args()); - } - - public function rename($old_name, $new_name): \Redis|bool - { - return $this->initializeLazyObject()->rename(...\func_get_args()); - } - - public function renameNx($key_src, $key_dst): \Redis|bool - { - return $this->initializeLazyObject()->renameNx(...\func_get_args()); - } - - public function restore($key, $ttl, $value, $options = null): \Redis|bool - { - return $this->initializeLazyObject()->restore(...\func_get_args()); - } - - public function role(): mixed - { - return $this->initializeLazyObject()->role(...\func_get_args()); - } - - public function rpoplpush($srckey, $dstkey): \Redis|false|string - { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); - } - - public function sAdd($key, $value, ...$other_values): \Redis|false|int - { - return $this->initializeLazyObject()->sAdd(...\func_get_args()); - } - - public function sAddArray($key, $values): int - { - return $this->initializeLazyObject()->sAddArray(...\func_get_args()); - } - - public function sDiff($key, ...$other_keys): \Redis|array|false - { - return $this->initializeLazyObject()->sDiff(...\func_get_args()); - } - - public function sDiffStore($dst, $key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->sDiffStore(...\func_get_args()); - } - - public function sInter($key, ...$other_keys): \Redis|array|false - { - return $this->initializeLazyObject()->sInter(...\func_get_args()); - } - - public function sintercard($keys, $limit = -1): \Redis|false|int - { - return $this->initializeLazyObject()->sintercard(...\func_get_args()); - } - - public function sInterStore($key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->sInterStore(...\func_get_args()); - } - - public function sMembers($key): \Redis|array|false - { - return $this->initializeLazyObject()->sMembers(...\func_get_args()); - } - - public function sMisMember($key, $member, ...$other_members): \Redis|array|false - { - return $this->initializeLazyObject()->sMisMember(...\func_get_args()); - } - - public function sMove($src, $dst, $value): \Redis|bool - { - return $this->initializeLazyObject()->sMove(...\func_get_args()); - } - - public function sPop($key, $count = 0): \Redis|array|false|string - { - return $this->initializeLazyObject()->sPop(...\func_get_args()); - } - - public function sUnion($key, ...$other_keys): \Redis|array|false - { - return $this->initializeLazyObject()->sUnion(...\func_get_args()); - } - - public function sUnionStore($dst, $key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->sUnionStore(...\func_get_args()); - } - - public function save(): \Redis|bool - { - return $this->initializeLazyObject()->save(...\func_get_args()); - } - - public function scan(&$iterator, $pattern = null, $count = 0, $type = null): array|false - { - return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); - } - - public function scard($key): \Redis|false|int - { - return $this->initializeLazyObject()->scard(...\func_get_args()); - } - - public function script($command, ...$args): mixed - { - return $this->initializeLazyObject()->script(...\func_get_args()); - } - - public function select($db): \Redis|bool - { - return $this->initializeLazyObject()->select(...\func_get_args()); - } - - public function set($key, $value, $options = null): \Redis|bool|string - { - return $this->initializeLazyObject()->set(...\func_get_args()); - } - - public function setBit($key, $idx, $value): \Redis|false|int - { - return $this->initializeLazyObject()->setBit(...\func_get_args()); - } - - public function setRange($key, $index, $value): \Redis|false|int - { - return $this->initializeLazyObject()->setRange(...\func_get_args()); - } - - public function setOption($option, $value): bool - { - return $this->initializeLazyObject()->setOption(...\func_get_args()); - } - - public function setex($key, $expire, $value) - { - return $this->initializeLazyObject()->setex(...\func_get_args()); - } - - public function setnx($key, $value): \Redis|bool - { - return $this->initializeLazyObject()->setnx(...\func_get_args()); - } - - public function sismember($key, $value): \Redis|bool - { - return $this->initializeLazyObject()->sismember(...\func_get_args()); - } - - public function slaveof($host = null, $port = 6379): \Redis|bool - { - return $this->initializeLazyObject()->slaveof(...\func_get_args()); - } - - public function replicaof($host = null, $port = 6379): \Redis|bool - { - return $this->initializeLazyObject()->replicaof(...\func_get_args()); - } - - public function touch($key_or_array, ...$more_keys): \Redis|false|int - { - return $this->initializeLazyObject()->touch(...\func_get_args()); - } - - public function slowlog($operation, $length = 0): mixed - { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); - } - - public function sort($key, $options = null): mixed - { - return $this->initializeLazyObject()->sort(...\func_get_args()); - } - - public function sort_ro($key, $options = null): mixed - { - return $this->initializeLazyObject()->sort_ro(...\func_get_args()); - } - - public function sortAsc($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array - { - return $this->initializeLazyObject()->sortAsc(...\func_get_args()); - } - - public function sortAscAlpha($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array - { - return $this->initializeLazyObject()->sortAscAlpha(...\func_get_args()); - } - - public function sortDesc($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array - { - return $this->initializeLazyObject()->sortDesc(...\func_get_args()); - } - - public function sortDescAlpha($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array - { - return $this->initializeLazyObject()->sortDescAlpha(...\func_get_args()); - } - - public function srem($key, $value, ...$other_values): \Redis|false|int - { - return $this->initializeLazyObject()->srem(...\func_get_args()); - } - - public function sscan($key, &$iterator, $pattern = null, $count = 0): array|false - { - return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function ssubscribe($channels, $cb): bool - { - return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); - } - - public function strlen($key): \Redis|false|int - { - return $this->initializeLazyObject()->strlen(...\func_get_args()); - } - - public function subscribe($channels, $cb): bool - { - return $this->initializeLazyObject()->subscribe(...\func_get_args()); - } - - public function sunsubscribe($channels): \Redis|array|bool - { - return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); - } - - public function swapdb($src, $dst): \Redis|bool - { - return $this->initializeLazyObject()->swapdb(...\func_get_args()); - } - - public function time(): \Redis|array - { - return $this->initializeLazyObject()->time(...\func_get_args()); - } - - public function ttl($key): \Redis|false|int - { - return $this->initializeLazyObject()->ttl(...\func_get_args()); - } - - public function type($key): \Redis|false|int - { - return $this->initializeLazyObject()->type(...\func_get_args()); - } - - public function unlink($key, ...$other_keys): \Redis|false|int - { - return $this->initializeLazyObject()->unlink(...\func_get_args()); - } - - public function unsubscribe($channels): \Redis|array|bool - { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); - } - - public function unwatch(): \Redis|bool - { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); - } - - public function watch($key, ...$other_keys): \Redis|bool - { - return $this->initializeLazyObject()->watch(...\func_get_args()); - } - - public function wait($numreplicas, $timeout): false|int - { - return $this->initializeLazyObject()->wait(...\func_get_args()); - } - - public function xack($key, $group, $ids): false|int - { - return $this->initializeLazyObject()->xack(...\func_get_args()); - } - - public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Redis|false|string - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \Redis|array|bool - { - return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); - } - - public function xclaim($key, $group, $consumer, $min_idle, $ids, $options): \Redis|array|bool - { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); - } - - public function xdel($key, $ids): \Redis|false|int - { - return $this->initializeLazyObject()->xdel(...\func_get_args()); - } - - public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed - { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); - } - - public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed - { - return $this->initializeLazyObject()->xinfo(...\func_get_args()); - } - - public function xlen($key): \Redis|false|int - { - return $this->initializeLazyObject()->xlen(...\func_get_args()); - } - - public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null): \Redis|array|false - { - return $this->initializeLazyObject()->xpending(...\func_get_args()); - } - - public function xrange($key, $start, $end, $count = -1): \Redis|array|bool - { - return $this->initializeLazyObject()->xrange(...\func_get_args()); - } - - public function xread($streams, $count = -1, $block = -1): \Redis|array|bool - { - return $this->initializeLazyObject()->xread(...\func_get_args()); - } - - public function xreadgroup($group, $consumer, $streams, $count = 1, $block = 1): \Redis|array|bool - { - return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); - } - - public function xrevrange($key, $end, $start, $count = -1): \Redis|array|bool - { - return $this->initializeLazyObject()->xrevrange(...\func_get_args()); - } - - public function xtrim($key, $threshold, $approx = false, $minid = false, $limit = -1): \Redis|false|int - { - return $this->initializeLazyObject()->xtrim(...\func_get_args()); - } - - public function zAdd($key, $score_or_options, ...$more_scores_and_mems): \Redis|false|float|int - { - return $this->initializeLazyObject()->zAdd(...\func_get_args()); - } - - public function zCard($key): \Redis|false|int - { - return $this->initializeLazyObject()->zCard(...\func_get_args()); - } - - public function zCount($key, $start, $end): \Redis|false|int - { - return $this->initializeLazyObject()->zCount(...\func_get_args()); - } - - public function zIncrBy($key, $value, $member): \Redis|false|float - { - return $this->initializeLazyObject()->zIncrBy(...\func_get_args()); - } - - public function zLexCount($key, $min, $max): \Redis|false|int - { - return $this->initializeLazyObject()->zLexCount(...\func_get_args()); - } - - public function zMscore($key, $member, ...$other_members): \Redis|array|false - { - return $this->initializeLazyObject()->zMscore(...\func_get_args()); - } - - public function zPopMax($key, $count = null): \Redis|array|false - { - return $this->initializeLazyObject()->zPopMax(...\func_get_args()); - } - - public function zPopMin($key, $count = null): \Redis|array|false - { - return $this->initializeLazyObject()->zPopMin(...\func_get_args()); - } - - public function zRange($key, $start, $end, $options = null): \Redis|array|false - { - return $this->initializeLazyObject()->zRange(...\func_get_args()); - } - - public function zRangeByLex($key, $min, $max, $offset = -1, $count = -1): \Redis|array|false - { - return $this->initializeLazyObject()->zRangeByLex(...\func_get_args()); - } - - public function zRangeByScore($key, $start, $end, $options = []): \Redis|array|false - { - return $this->initializeLazyObject()->zRangeByScore(...\func_get_args()); - } - - public function zrangestore($dstkey, $srckey, $start, $end, $options = null): \Redis|false|int - { - return $this->initializeLazyObject()->zrangestore(...\func_get_args()); - } - - public function zRandMember($key, $options = null): \Redis|array|string - { - return $this->initializeLazyObject()->zRandMember(...\func_get_args()); - } - - public function zRank($key, $member): \Redis|false|int - { - return $this->initializeLazyObject()->zRank(...\func_get_args()); - } - - public function zRem($key, $member, ...$other_members): \Redis|false|int - { - return $this->initializeLazyObject()->zRem(...\func_get_args()); - } - - public function zRemRangeByLex($key, $min, $max): \Redis|false|int - { - return $this->initializeLazyObject()->zRemRangeByLex(...\func_get_args()); - } - - public function zRemRangeByRank($key, $start, $end): \Redis|false|int - { - return $this->initializeLazyObject()->zRemRangeByRank(...\func_get_args()); - } - - public function zRemRangeByScore($key, $start, $end): \Redis|false|int - { - return $this->initializeLazyObject()->zRemRangeByScore(...\func_get_args()); - } - - public function zRevRange($key, $start, $end, $scores = null): \Redis|array|false - { - return $this->initializeLazyObject()->zRevRange(...\func_get_args()); - } - - public function zRevRangeByLex($key, $max, $min, $offset = -1, $count = -1): \Redis|array|false - { - return $this->initializeLazyObject()->zRevRangeByLex(...\func_get_args()); - } - - public function zRevRangeByScore($key, $max, $min, $options = []): \Redis|array|false - { - return $this->initializeLazyObject()->zRevRangeByScore(...\func_get_args()); - } - - public function zRevRank($key, $member): \Redis|false|int - { - return $this->initializeLazyObject()->zRevRank(...\func_get_args()); - } - - public function zScore($key, $member): \Redis|false|float - { - return $this->initializeLazyObject()->zScore(...\func_get_args()); - } - - public function zdiff($keys, $options = null): \Redis|array|false - { - return $this->initializeLazyObject()->zdiff(...\func_get_args()); - } - - public function zdiffstore($dst, $keys): \Redis|false|int - { - return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); - } - - public function zinter($keys, $weights = null, $options = null): \Redis|array|false - { - return $this->initializeLazyObject()->zinter(...\func_get_args()); - } - - public function zintercard($keys, $limit = -1): \Redis|false|int - { - return $this->initializeLazyObject()->zintercard(...\func_get_args()); - } - - public function zinterstore($dst, $keys, $weights = null, $aggregate = null): \Redis|false|int - { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); - } - - public function zscan($key, &$iterator, $pattern = null, $count = 0): \Redis|array|false - { - return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function zunion($keys, $weights = null, $options = null): \Redis|array|false - { - return $this->initializeLazyObject()->zunion(...\func_get_args()); - } - - public function zunionstore($dst, $keys, $weights = null, $aggregate = null): \Redis|false|int - { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); - } -} diff --git a/Traits/Redis6ProxyTrait.php b/Traits/Redis6ProxyTrait.php deleted file mode 100644 index bb8d978..0000000 --- a/Traits/Redis6ProxyTrait.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -if (version_compare(phpversion('redis'), '6.1.0-dev', '>=')) { - /** - * @internal - */ - trait Redis6ProxyTrait - { - public function dump($key): \Redis|string|false - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function hRandField($key, $options = null): \Redis|array|string|false - { - return $this->initializeLazyObject()->hRandField(...\func_get_args()); - } - - public function hSet($key, ...$fields_and_vals): \Redis|false|int - { - return $this->initializeLazyObject()->hSet(...\func_get_args()); - } - - public function mget($keys): \Redis|array|false - { - return $this->initializeLazyObject()->mget(...\func_get_args()); - } - - public function sRandMember($key, $count = 0): mixed - { - return $this->initializeLazyObject()->sRandMember(...\func_get_args()); - } - - public function waitaof($numlocal, $numreplicas, $timeout): \Redis|array|false - { - return $this->initializeLazyObject()->waitaof(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait Redis6ProxyTrait - { - public function dump($key): \Redis|string - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function hRandField($key, $options = null): \Redis|array|string - { - return $this->initializeLazyObject()->hRandField(...\func_get_args()); - } - - public function hSet($key, $member, $value): \Redis|false|int - { - return $this->initializeLazyObject()->hSet(...\func_get_args()); - } - - public function mget($keys): \Redis|array - { - return $this->initializeLazyObject()->mget(...\func_get_args()); - } - - public function sRandMember($key, $count = 0): \Redis|array|false|string - { - return $this->initializeLazyObject()->sRandMember(...\func_get_args()); - } - } -} diff --git a/Traits/RedisCluster5Proxy.php b/Traits/RedisCluster5Proxy.php deleted file mode 100644 index 43f3404..0000000 --- a/Traits/RedisCluster5Proxy.php +++ /dev/null @@ -1,980 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -use Symfony\Component\VarExporter\LazyObjectInterface; -use Symfony\Contracts\Service\ResetInterface; - -// Help opcache.preload discover always-needed symbols -class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); - -/** - * @internal - */ -class RedisCluster5Proxy extends \RedisCluster implements ResetInterface, LazyObjectInterface -{ - use RedisProxyTrait { - resetLazyObject as reset; - } - - public function __construct($name, $seeds = null, $timeout = null, $read_timeout = null, $persistent = null, #[\SensitiveParameter] $auth = null) - { - $this->initializeLazyObject()->__construct(...\func_get_args()); - } - - public function _masters() - { - return $this->initializeLazyObject()->_masters(...\func_get_args()); - } - - public function _prefix($key) - { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); - } - - public function _redir() - { - return $this->initializeLazyObject()->_redir(...\func_get_args()); - } - - public function _serialize($value) - { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); - } - - public function _unserialize($value) - { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); - } - - public function _compress($value) - { - return $this->initializeLazyObject()->_compress(...\func_get_args()); - } - - public function _uncompress($value) - { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); - } - - public function _pack($value) - { - return $this->initializeLazyObject()->_pack(...\func_get_args()); - } - - public function _unpack($value) - { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); - } - - public function acl($key_or_address, $subcmd, ...$args) - { - return $this->initializeLazyObject()->acl(...\func_get_args()); - } - - public function append($key, $value) - { - return $this->initializeLazyObject()->append(...\func_get_args()); - } - - public function bgrewriteaof($key_or_address) - { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); - } - - public function bgsave($key_or_address) - { - return $this->initializeLazyObject()->bgsave(...\func_get_args()); - } - - public function bitcount($key) - { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); - } - - public function bitop($operation, $ret_key, $key, ...$other_keys) - { - return $this->initializeLazyObject()->bitop(...\func_get_args()); - } - - public function bitpos($key, $bit, $start = null, $end = null) - { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); - } - - public function blpop($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->blpop(...\func_get_args()); - } - - public function brpop($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->brpop(...\func_get_args()); - } - - public function brpoplpush($src, $dst, $timeout) - { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); - } - - public function clearlasterror() - { - return $this->initializeLazyObject()->clearlasterror(...\func_get_args()); - } - - public function bzpopmax($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); - } - - public function bzpopmin($key, $timeout_or_key, ...$extra_args) - { - return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); - } - - public function client($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->client(...\func_get_args()); - } - - public function close() - { - return $this->initializeLazyObject()->close(...\func_get_args()); - } - - public function cluster($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->cluster(...\func_get_args()); - } - - public function command(...$args) - { - return $this->initializeLazyObject()->command(...\func_get_args()); - } - - public function config($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->config(...\func_get_args()); - } - - public function dbsize($key_or_address) - { - return $this->initializeLazyObject()->dbsize(...\func_get_args()); - } - - public function decr($key) - { - return $this->initializeLazyObject()->decr(...\func_get_args()); - } - - public function decrby($key, $value) - { - return $this->initializeLazyObject()->decrby(...\func_get_args()); - } - - public function del($key, ...$other_keys) - { - return $this->initializeLazyObject()->del(...\func_get_args()); - } - - public function discard() - { - return $this->initializeLazyObject()->discard(...\func_get_args()); - } - - public function dump($key) - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function echo($msg) - { - return $this->initializeLazyObject()->echo(...\func_get_args()); - } - - public function eval($script, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->eval(...\func_get_args()); - } - - public function evalsha($script_sha, $args = null, $num_keys = null) - { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); - } - - public function exec() - { - return $this->initializeLazyObject()->exec(...\func_get_args()); - } - - public function exists($key) - { - return $this->initializeLazyObject()->exists(...\func_get_args()); - } - - public function expire($key, $timeout) - { - return $this->initializeLazyObject()->expire(...\func_get_args()); - } - - public function expireat($key, $timestamp) - { - return $this->initializeLazyObject()->expireat(...\func_get_args()); - } - - public function flushall($key_or_address, $async = null) - { - return $this->initializeLazyObject()->flushall(...\func_get_args()); - } - - public function flushdb($key_or_address, $async = null) - { - return $this->initializeLazyObject()->flushdb(...\func_get_args()); - } - - public function geoadd($key, $lng, $lat, $member, ...$other_triples) - { - return $this->initializeLazyObject()->geoadd(...\func_get_args()); - } - - public function geodist($key, $src, $dst, $unit = null) - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function geohash($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->geohash(...\func_get_args()); - } - - public function geopos($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->geopos(...\func_get_args()); - } - - public function georadius($key, $lng, $lan, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadius(...\func_get_args()); - } - - public function georadius_ro($key, $lng, $lan, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); - } - - public function georadiusbymember($key, $member, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); - } - - public function georadiusbymember_ro($key, $member, $radius, $unit, $opts = null) - { - return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); - } - - public function get($key) - { - return $this->initializeLazyObject()->get(...\func_get_args()); - } - - public function getbit($key, $offset) - { - return $this->initializeLazyObject()->getbit(...\func_get_args()); - } - - public function getlasterror() - { - return $this->initializeLazyObject()->getlasterror(...\func_get_args()); - } - - public function getmode() - { - return $this->initializeLazyObject()->getmode(...\func_get_args()); - } - - public function getoption($option) - { - return $this->initializeLazyObject()->getoption(...\func_get_args()); - } - - public function getrange($key, $start, $end) - { - return $this->initializeLazyObject()->getrange(...\func_get_args()); - } - - public function getset($key, $value) - { - return $this->initializeLazyObject()->getset(...\func_get_args()); - } - - public function hdel($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->hdel(...\func_get_args()); - } - - public function hexists($key, $member) - { - return $this->initializeLazyObject()->hexists(...\func_get_args()); - } - - public function hget($key, $member) - { - return $this->initializeLazyObject()->hget(...\func_get_args()); - } - - public function hgetall($key) - { - return $this->initializeLazyObject()->hgetall(...\func_get_args()); - } - - public function hincrby($key, $member, $value) - { - return $this->initializeLazyObject()->hincrby(...\func_get_args()); - } - - public function hincrbyfloat($key, $member, $value) - { - return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); - } - - public function hkeys($key) - { - return $this->initializeLazyObject()->hkeys(...\func_get_args()); - } - - public function hlen($key) - { - return $this->initializeLazyObject()->hlen(...\func_get_args()); - } - - public function hmget($key, $keys) - { - return $this->initializeLazyObject()->hmget(...\func_get_args()); - } - - public function hmset($key, $pairs) - { - return $this->initializeLazyObject()->hmset(...\func_get_args()); - } - - public function hscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->hscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function hset($key, $member, $value) - { - return $this->initializeLazyObject()->hset(...\func_get_args()); - } - - public function hsetnx($key, $member, $value) - { - return $this->initializeLazyObject()->hsetnx(...\func_get_args()); - } - - public function hstrlen($key, $member) - { - return $this->initializeLazyObject()->hstrlen(...\func_get_args()); - } - - public function hvals($key) - { - return $this->initializeLazyObject()->hvals(...\func_get_args()); - } - - public function incr($key) - { - return $this->initializeLazyObject()->incr(...\func_get_args()); - } - - public function incrby($key, $value) - { - return $this->initializeLazyObject()->incrby(...\func_get_args()); - } - - public function incrbyfloat($key, $value) - { - return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); - } - - public function info($key_or_address, $option = null) - { - return $this->initializeLazyObject()->info(...\func_get_args()); - } - - public function keys($pattern) - { - return $this->initializeLazyObject()->keys(...\func_get_args()); - } - - public function lastsave($key_or_address) - { - return $this->initializeLazyObject()->lastsave(...\func_get_args()); - } - - public function lget($key, $index) - { - return $this->initializeLazyObject()->lget(...\func_get_args()); - } - - public function lindex($key, $index) - { - return $this->initializeLazyObject()->lindex(...\func_get_args()); - } - - public function linsert($key, $position, $pivot, $value) - { - return $this->initializeLazyObject()->linsert(...\func_get_args()); - } - - public function llen($key) - { - return $this->initializeLazyObject()->llen(...\func_get_args()); - } - - public function lpop($key) - { - return $this->initializeLazyObject()->lpop(...\func_get_args()); - } - - public function lpush($key, $value) - { - return $this->initializeLazyObject()->lpush(...\func_get_args()); - } - - public function lpushx($key, $value) - { - return $this->initializeLazyObject()->lpushx(...\func_get_args()); - } - - public function lrange($key, $start, $end) - { - return $this->initializeLazyObject()->lrange(...\func_get_args()); - } - - public function lrem($key, $value) - { - return $this->initializeLazyObject()->lrem(...\func_get_args()); - } - - public function lset($key, $index, $value) - { - return $this->initializeLazyObject()->lset(...\func_get_args()); - } - - public function ltrim($key, $start, $stop) - { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); - } - - public function mget($keys) - { - return $this->initializeLazyObject()->mget(...\func_get_args()); - } - - public function mset($pairs) - { - return $this->initializeLazyObject()->mset(...\func_get_args()); - } - - public function msetnx($pairs) - { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); - } - - public function multi() - { - return $this->initializeLazyObject()->multi(...\func_get_args()); - } - - public function object($field, $key) - { - return $this->initializeLazyObject()->object(...\func_get_args()); - } - - public function persist($key) - { - return $this->initializeLazyObject()->persist(...\func_get_args()); - } - - public function pexpire($key, $timestamp) - { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); - } - - public function pexpireat($key, $timestamp) - { - return $this->initializeLazyObject()->pexpireat(...\func_get_args()); - } - - public function pfadd($key, $elements) - { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); - } - - public function pfcount($key) - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - - public function pfmerge($dstkey, $keys) - { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); - } - - public function ping($key_or_address) - { - return $this->initializeLazyObject()->ping(...\func_get_args()); - } - - public function psetex($key, $expire, $value) - { - return $this->initializeLazyObject()->psetex(...\func_get_args()); - } - - public function psubscribe($patterns, $callback) - { - return $this->initializeLazyObject()->psubscribe(...\func_get_args()); - } - - public function pttl($key) - { - return $this->initializeLazyObject()->pttl(...\func_get_args()); - } - - public function publish($channel, $message) - { - return $this->initializeLazyObject()->publish(...\func_get_args()); - } - - public function pubsub($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); - } - - public function punsubscribe($pattern, ...$other_patterns) - { - return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); - } - - public function randomkey($key_or_address) - { - return $this->initializeLazyObject()->randomkey(...\func_get_args()); - } - - public function rawcommand($cmd, ...$args) - { - return $this->initializeLazyObject()->rawcommand(...\func_get_args()); - } - - public function rename($key, $newkey) - { - return $this->initializeLazyObject()->rename(...\func_get_args()); - } - - public function renamenx($key, $newkey) - { - return $this->initializeLazyObject()->renamenx(...\func_get_args()); - } - - public function restore($ttl, $key, $value) - { - return $this->initializeLazyObject()->restore(...\func_get_args()); - } - - public function role() - { - return $this->initializeLazyObject()->role(...\func_get_args()); - } - - public function rpop($key) - { - return $this->initializeLazyObject()->rpop(...\func_get_args()); - } - - public function rpoplpush($src, $dst) - { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); - } - - public function rpush($key, $value) - { - return $this->initializeLazyObject()->rpush(...\func_get_args()); - } - - public function rpushx($key, $value) - { - return $this->initializeLazyObject()->rpushx(...\func_get_args()); - } - - public function sadd($key, $value) - { - return $this->initializeLazyObject()->sadd(...\func_get_args()); - } - - public function saddarray($key, $options) - { - return $this->initializeLazyObject()->saddarray(...\func_get_args()); - } - - public function save($key_or_address) - { - return $this->initializeLazyObject()->save(...\func_get_args()); - } - - public function scan(&$i_iterator, $str_node, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->scan($i_iterator, ...\array_slice(\func_get_args(), 1)); - } - - public function scard($key) - { - return $this->initializeLazyObject()->scard(...\func_get_args()); - } - - public function script($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->script(...\func_get_args()); - } - - public function sdiff($key, ...$other_keys) - { - return $this->initializeLazyObject()->sdiff(...\func_get_args()); - } - - public function sdiffstore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); - } - - public function set($key, $value, $opts = null) - { - return $this->initializeLazyObject()->set(...\func_get_args()); - } - - public function setbit($key, $offset, $value) - { - return $this->initializeLazyObject()->setbit(...\func_get_args()); - } - - public function setex($key, $expire, $value) - { - return $this->initializeLazyObject()->setex(...\func_get_args()); - } - - public function setnx($key, $value) - { - return $this->initializeLazyObject()->setnx(...\func_get_args()); - } - - public function setoption($option, $value) - { - return $this->initializeLazyObject()->setoption(...\func_get_args()); - } - - public function setrange($key, $offset, $value) - { - return $this->initializeLazyObject()->setrange(...\func_get_args()); - } - - public function sinter($key, ...$other_keys) - { - return $this->initializeLazyObject()->sinter(...\func_get_args()); - } - - public function sinterstore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sinterstore(...\func_get_args()); - } - - public function sismember($key, $value) - { - return $this->initializeLazyObject()->sismember(...\func_get_args()); - } - - public function slowlog($key_or_address, $arg = null, ...$other_args) - { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); - } - - public function smembers($key) - { - return $this->initializeLazyObject()->smembers(...\func_get_args()); - } - - public function smove($src, $dst, $value) - { - return $this->initializeLazyObject()->smove(...\func_get_args()); - } - - public function sort($key, $options = null) - { - return $this->initializeLazyObject()->sort(...\func_get_args()); - } - - public function spop($key) - { - return $this->initializeLazyObject()->spop(...\func_get_args()); - } - - public function srandmember($key, $count = null) - { - return $this->initializeLazyObject()->srandmember(...\func_get_args()); - } - - public function srem($key, $value) - { - return $this->initializeLazyObject()->srem(...\func_get_args()); - } - - public function sscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->sscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function strlen($key) - { - return $this->initializeLazyObject()->strlen(...\func_get_args()); - } - - public function subscribe($channels, $callback) - { - return $this->initializeLazyObject()->subscribe(...\func_get_args()); - } - - public function sunion($key, ...$other_keys) - { - return $this->initializeLazyObject()->sunion(...\func_get_args()); - } - - public function sunionstore($dst, $key, ...$other_keys) - { - return $this->initializeLazyObject()->sunionstore(...\func_get_args()); - } - - public function time() - { - return $this->initializeLazyObject()->time(...\func_get_args()); - } - - public function ttl($key) - { - return $this->initializeLazyObject()->ttl(...\func_get_args()); - } - - public function type($key) - { - return $this->initializeLazyObject()->type(...\func_get_args()); - } - - public function unsubscribe($channel, ...$other_channels) - { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); - } - - public function unlink($key, ...$other_keys) - { - return $this->initializeLazyObject()->unlink(...\func_get_args()); - } - - public function unwatch() - { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); - } - - public function watch($key, ...$other_keys) - { - return $this->initializeLazyObject()->watch(...\func_get_args()); - } - - public function xack($str_key, $str_group, $arr_ids) - { - return $this->initializeLazyObject()->xack(...\func_get_args()); - } - - public function xadd($str_key, $str_id, $arr_fields, $i_maxlen = null, $boo_approximate = null) - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function xclaim($str_key, $str_group, $str_consumer, $i_min_idle, $arr_ids, $arr_opts = null) - { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); - } - - public function xdel($str_key, $arr_ids) - { - return $this->initializeLazyObject()->xdel(...\func_get_args()); - } - - public function xgroup($str_operation, $str_key = null, $str_arg1 = null, $str_arg2 = null, $str_arg3 = null) - { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); - } - - public function xinfo($str_cmd, $str_key = null, $str_group = null) - { - return $this->initializeLazyObject()->xinfo(...\func_get_args()); - } - - public function xlen($key) - { - return $this->initializeLazyObject()->xlen(...\func_get_args()); - } - - public function xpending($str_key, $str_group, $str_start = null, $str_end = null, $i_count = null, $str_consumer = null) - { - return $this->initializeLazyObject()->xpending(...\func_get_args()); - } - - public function xrange($str_key, $str_start, $str_end, $i_count = null) - { - return $this->initializeLazyObject()->xrange(...\func_get_args()); - } - - public function xread($arr_streams, $i_count = null, $i_block = null) - { - return $this->initializeLazyObject()->xread(...\func_get_args()); - } - - public function xreadgroup($str_group, $str_consumer, $arr_streams, $i_count = null, $i_block = null) - { - return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); - } - - public function xrevrange($str_key, $str_start, $str_end, $i_count = null) - { - return $this->initializeLazyObject()->xrevrange(...\func_get_args()); - } - - public function xtrim($str_key, $i_maxlen, $boo_approximate = null) - { - return $this->initializeLazyObject()->xtrim(...\func_get_args()); - } - - public function zadd($key, $score, $value, ...$extra_args) - { - return $this->initializeLazyObject()->zadd(...\func_get_args()); - } - - public function zcard($key) - { - return $this->initializeLazyObject()->zcard(...\func_get_args()); - } - - public function zcount($key, $min, $max) - { - return $this->initializeLazyObject()->zcount(...\func_get_args()); - } - - public function zincrby($key, $value, $member) - { - return $this->initializeLazyObject()->zincrby(...\func_get_args()); - } - - public function zinterstore($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); - } - - public function zlexcount($key, $min, $max) - { - return $this->initializeLazyObject()->zlexcount(...\func_get_args()); - } - - public function zpopmax($key) - { - return $this->initializeLazyObject()->zpopmax(...\func_get_args()); - } - - public function zpopmin($key) - { - return $this->initializeLazyObject()->zpopmin(...\func_get_args()); - } - - public function zrange($key, $start, $end, $scores = null) - { - return $this->initializeLazyObject()->zrange(...\func_get_args()); - } - - public function zrangebylex($key, $min, $max, $offset = null, $limit = null) - { - return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); - } - - public function zrangebyscore($key, $start, $end, $options = null) - { - return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); - } - - public function zrank($key, $member) - { - return $this->initializeLazyObject()->zrank(...\func_get_args()); - } - - public function zrem($key, $member, ...$other_members) - { - return $this->initializeLazyObject()->zrem(...\func_get_args()); - } - - public function zremrangebylex($key, $min, $max) - { - return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); - } - - public function zremrangebyrank($key, $min, $max) - { - return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); - } - - public function zremrangebyscore($key, $min, $max) - { - return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); - } - - public function zrevrange($key, $start, $end, $scores = null) - { - return $this->initializeLazyObject()->zrevrange(...\func_get_args()); - } - - public function zrevrangebylex($key, $min, $max, $offset = null, $limit = null) - { - return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); - } - - public function zrevrangebyscore($key, $start, $end, $options = null) - { - return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); - } - - public function zrevrank($key, $member) - { - return $this->initializeLazyObject()->zrevrank(...\func_get_args()); - } - - public function zscan($str_key, &$i_iterator, $str_pattern = null, $i_count = null) - { - return $this->initializeLazyObject()->zscan($str_key, $i_iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function zscore($key, $member) - { - return $this->initializeLazyObject()->zscore(...\func_get_args()); - } - - public function zunionstore($key, $keys, $weights = null, $aggregate = null) - { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); - } -} diff --git a/Traits/RedisCluster6Proxy.php b/Traits/RedisCluster6Proxy.php deleted file mode 100644 index 38dedf7..0000000 --- a/Traits/RedisCluster6Proxy.php +++ /dev/null @@ -1,1136 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -use Symfony\Component\VarExporter\LazyObjectInterface; -use Symfony\Contracts\Service\ResetInterface; - -// Help opcache.preload discover always-needed symbols -class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); -class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); - -/** - * @internal - */ -class RedisCluster6Proxy extends \RedisCluster implements ResetInterface, LazyObjectInterface -{ - use RedisCluster6ProxyTrait; - use RedisProxyTrait { - resetLazyObject as reset; - } - - public function __construct($name, $seeds = null, $timeout = 0, $read_timeout = 0, $persistent = false, #[\SensitiveParameter] $auth = null, $context = null) - { - $this->initializeLazyObject()->__construct(...\func_get_args()); - } - - public function _compress($value): string - { - return $this->initializeLazyObject()->_compress(...\func_get_args()); - } - - public function _uncompress($value): string - { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); - } - - public function _serialize($value): bool|string - { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); - } - - public function _unserialize($value): mixed - { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); - } - - public function _pack($value): string - { - return $this->initializeLazyObject()->_pack(...\func_get_args()); - } - - public function _unpack($value): mixed - { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); - } - - public function _prefix($key): bool|string - { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); - } - - public function _masters(): array - { - return $this->initializeLazyObject()->_masters(...\func_get_args()); - } - - public function _redir(): ?string - { - return $this->initializeLazyObject()->_redir(...\func_get_args()); - } - - public function acl($key_or_address, $subcmd, ...$args): mixed - { - return $this->initializeLazyObject()->acl(...\func_get_args()); - } - - public function append($key, $value): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->append(...\func_get_args()); - } - - public function bgrewriteaof($key_or_address): \RedisCluster|bool - { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); - } - - public function bgsave($key_or_address): \RedisCluster|bool - { - return $this->initializeLazyObject()->bgsave(...\func_get_args()); - } - - public function bitcount($key, $start = 0, $end = -1, $bybit = false): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); - } - - public function bitop($operation, $deskey, $srckey, ...$otherkeys): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->bitop(...\func_get_args()); - } - - public function bitpos($key, $bit, $start = 0, $end = -1, $bybit = false): \RedisCluster|false|int - { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); - } - - public function blpop($key, $timeout_or_key, ...$extra_args): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->blpop(...\func_get_args()); - } - - public function brpop($key, $timeout_or_key, ...$extra_args): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->brpop(...\func_get_args()); - } - - public function brpoplpush($srckey, $deskey, $timeout): mixed - { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); - } - - public function lmove($src, $dst, $wherefrom, $whereto): \Redis|false|string - { - return $this->initializeLazyObject()->lmove(...\func_get_args()); - } - - public function blmove($src, $dst, $wherefrom, $whereto, $timeout): \Redis|false|string - { - return $this->initializeLazyObject()->blmove(...\func_get_args()); - } - - public function bzpopmax($key, $timeout_or_key, ...$extra_args): array - { - return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); - } - - public function bzpopmin($key, $timeout_or_key, ...$extra_args): array - { - return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); - } - - public function bzmpop($timeout, $keys, $from, $count = 1): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->bzmpop(...\func_get_args()); - } - - public function zmpop($keys, $from, $count = 1): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->zmpop(...\func_get_args()); - } - - public function blmpop($timeout, $keys, $from, $count = 1): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->blmpop(...\func_get_args()); - } - - public function lmpop($keys, $from, $count = 1): \RedisCluster|array|false|null - { - return $this->initializeLazyObject()->lmpop(...\func_get_args()); - } - - public function clearlasterror(): bool - { - return $this->initializeLazyObject()->clearlasterror(...\func_get_args()); - } - - public function client($key_or_address, $subcommand, $arg = null): array|bool|string - { - return $this->initializeLazyObject()->client(...\func_get_args()); - } - - public function close(): bool - { - return $this->initializeLazyObject()->close(...\func_get_args()); - } - - public function cluster($key_or_address, $command, ...$extra_args): mixed - { - return $this->initializeLazyObject()->cluster(...\func_get_args()); - } - - public function command(...$extra_args): mixed - { - return $this->initializeLazyObject()->command(...\func_get_args()); - } - - public function config($key_or_address, $subcommand, ...$extra_args): mixed - { - return $this->initializeLazyObject()->config(...\func_get_args()); - } - - public function dbsize($key_or_address): \RedisCluster|int - { - return $this->initializeLazyObject()->dbsize(...\func_get_args()); - } - - public function copy($src, $dst, $options = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->copy(...\func_get_args()); - } - - public function decr($key, $by = 1): \RedisCluster|false|int - { - return $this->initializeLazyObject()->decr(...\func_get_args()); - } - - public function decrby($key, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->decrby(...\func_get_args()); - } - - public function decrbyfloat($key, $value): float - { - return $this->initializeLazyObject()->decrbyfloat(...\func_get_args()); - } - - public function del($key, ...$other_keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->del(...\func_get_args()); - } - - public function discard(): bool - { - return $this->initializeLazyObject()->discard(...\func_get_args()); - } - - public function dump($key): \RedisCluster|false|string - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function echo($key_or_address, $msg): \RedisCluster|false|string - { - return $this->initializeLazyObject()->echo(...\func_get_args()); - } - - public function eval($script, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->eval(...\func_get_args()); - } - - public function eval_ro($script, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->eval_ro(...\func_get_args()); - } - - public function evalsha($script_sha, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); - } - - public function evalsha_ro($script_sha, $args = [], $num_keys = 0): mixed - { - return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); - } - - public function exec(): array|false - { - return $this->initializeLazyObject()->exec(...\func_get_args()); - } - - public function exists($key, ...$other_keys): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->exists(...\func_get_args()); - } - - public function touch($key, ...$other_keys): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->touch(...\func_get_args()); - } - - public function expire($key, $timeout, $mode = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->expire(...\func_get_args()); - } - - public function expireat($key, $timestamp, $mode = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->expireat(...\func_get_args()); - } - - public function expiretime($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->expiretime(...\func_get_args()); - } - - public function pexpiretime($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); - } - - public function flushall($key_or_address, $async = false): \RedisCluster|bool - { - return $this->initializeLazyObject()->flushall(...\func_get_args()); - } - - public function flushdb($key_or_address, $async = false): \RedisCluster|bool - { - return $this->initializeLazyObject()->flushdb(...\func_get_args()); - } - - public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \RedisCluster|false|int - { - return $this->initializeLazyObject()->geoadd(...\func_get_args()); - } - - public function geodist($key, $src, $dest, $unit = null): \RedisCluster|false|float - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function geohash($key, $member, ...$other_members): \RedisCluster|array|false - { - return $this->initializeLazyObject()->geohash(...\func_get_args()); - } - - public function geopos($key, $member, ...$other_members): \RedisCluster|array|false - { - return $this->initializeLazyObject()->geopos(...\func_get_args()); - } - - public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadius(...\func_get_args()); - } - - public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); - } - - public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); - } - - public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed - { - return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); - } - - public function geosearch($key, $position, $shape, $unit, $options = []): \RedisCluster|array - { - return $this->initializeLazyObject()->geosearch(...\func_get_args()); - } - - public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \RedisCluster|array|false|int - { - return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); - } - - public function get($key): mixed - { - return $this->initializeLazyObject()->get(...\func_get_args()); - } - - public function getbit($key, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->getbit(...\func_get_args()); - } - - public function getlasterror(): ?string - { - return $this->initializeLazyObject()->getlasterror(...\func_get_args()); - } - - public function getmode(): int - { - return $this->initializeLazyObject()->getmode(...\func_get_args()); - } - - public function getoption($option): mixed - { - return $this->initializeLazyObject()->getoption(...\func_get_args()); - } - - public function getrange($key, $start, $end): \RedisCluster|false|string - { - return $this->initializeLazyObject()->getrange(...\func_get_args()); - } - - public function lcs($key1, $key2, $options = null): \RedisCluster|array|false|int|string - { - return $this->initializeLazyObject()->lcs(...\func_get_args()); - } - - public function getset($key, $value): \RedisCluster|bool|string - { - return $this->initializeLazyObject()->getset(...\func_get_args()); - } - - public function gettransferredbytes(): array|false - { - return $this->initializeLazyObject()->gettransferredbytes(...\func_get_args()); - } - - public function cleartransferredbytes(): void - { - $this->initializeLazyObject()->cleartransferredbytes(...\func_get_args()); - } - - public function hdel($key, $member, ...$other_members): \RedisCluster|false|int - { - return $this->initializeLazyObject()->hdel(...\func_get_args()); - } - - public function hexists($key, $member): \RedisCluster|bool - { - return $this->initializeLazyObject()->hexists(...\func_get_args()); - } - - public function hget($key, $member): mixed - { - return $this->initializeLazyObject()->hget(...\func_get_args()); - } - - public function hgetall($key): \RedisCluster|array|false - { - return $this->initializeLazyObject()->hgetall(...\func_get_args()); - } - - public function hincrby($key, $member, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->hincrby(...\func_get_args()); - } - - public function hincrbyfloat($key, $member, $value): \RedisCluster|false|float - { - return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); - } - - public function hkeys($key): \RedisCluster|array|false - { - return $this->initializeLazyObject()->hkeys(...\func_get_args()); - } - - public function hlen($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->hlen(...\func_get_args()); - } - - public function hmget($key, $keys): \RedisCluster|array|false - { - return $this->initializeLazyObject()->hmget(...\func_get_args()); - } - - public function hmset($key, $key_values): \RedisCluster|bool - { - return $this->initializeLazyObject()->hmset(...\func_get_args()); - } - - public function hscan($key, &$iterator, $pattern = null, $count = 0): array|bool - { - return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function hrandfield($key, $options = null): \RedisCluster|array|string - { - return $this->initializeLazyObject()->hrandfield(...\func_get_args()); - } - - public function hset($key, $member, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->hset(...\func_get_args()); - } - - public function hsetnx($key, $member, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->hsetnx(...\func_get_args()); - } - - public function hstrlen($key, $field): \RedisCluster|false|int - { - return $this->initializeLazyObject()->hstrlen(...\func_get_args()); - } - - public function hvals($key): \RedisCluster|array|false - { - return $this->initializeLazyObject()->hvals(...\func_get_args()); - } - - public function incr($key, $by = 1): \RedisCluster|false|int - { - return $this->initializeLazyObject()->incr(...\func_get_args()); - } - - public function incrby($key, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->incrby(...\func_get_args()); - } - - public function incrbyfloat($key, $value): \RedisCluster|false|float - { - return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); - } - - public function info($key_or_address, ...$sections): \RedisCluster|array|false - { - return $this->initializeLazyObject()->info(...\func_get_args()); - } - - public function keys($pattern): \RedisCluster|array|false - { - return $this->initializeLazyObject()->keys(...\func_get_args()); - } - - public function lastsave($key_or_address): \RedisCluster|false|int - { - return $this->initializeLazyObject()->lastsave(...\func_get_args()); - } - - public function lget($key, $index): \RedisCluster|bool|string - { - return $this->initializeLazyObject()->lget(...\func_get_args()); - } - - public function lindex($key, $index): mixed - { - return $this->initializeLazyObject()->lindex(...\func_get_args()); - } - - public function linsert($key, $pos, $pivot, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->linsert(...\func_get_args()); - } - - public function llen($key): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->llen(...\func_get_args()); - } - - public function lpop($key, $count = 0): \RedisCluster|array|bool|string - { - return $this->initializeLazyObject()->lpop(...\func_get_args()); - } - - public function lpos($key, $value, $options = null): \Redis|array|bool|int|null - { - return $this->initializeLazyObject()->lpos(...\func_get_args()); - } - - public function lpush($key, $value, ...$other_values): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->lpush(...\func_get_args()); - } - - public function lpushx($key, $value): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->lpushx(...\func_get_args()); - } - - public function lrange($key, $start, $end): \RedisCluster|array|false - { - return $this->initializeLazyObject()->lrange(...\func_get_args()); - } - - public function lrem($key, $value, $count = 0): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->lrem(...\func_get_args()); - } - - public function lset($key, $index, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->lset(...\func_get_args()); - } - - public function ltrim($key, $start, $end): \RedisCluster|bool - { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); - } - - public function mget($keys): \RedisCluster|array|false - { - return $this->initializeLazyObject()->mget(...\func_get_args()); - } - - public function mset($key_values): \RedisCluster|bool - { - return $this->initializeLazyObject()->mset(...\func_get_args()); - } - - public function msetnx($key_values): \RedisCluster|array|false - { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); - } - - public function multi($value = \Redis::MULTI): \RedisCluster|bool - { - return $this->initializeLazyObject()->multi(...\func_get_args()); - } - - public function object($subcommand, $key): \RedisCluster|false|int|string - { - return $this->initializeLazyObject()->object(...\func_get_args()); - } - - public function persist($key): \RedisCluster|bool - { - return $this->initializeLazyObject()->persist(...\func_get_args()); - } - - public function pexpire($key, $timeout, $mode = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); - } - - public function pexpireat($key, $timestamp, $mode = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->pexpireat(...\func_get_args()); - } - - public function pfadd($key, $elements): \RedisCluster|bool - { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); - } - - public function pfcount($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - - public function pfmerge($key, $keys): \RedisCluster|bool - { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); - } - - public function ping($key_or_address, $message = null): mixed - { - return $this->initializeLazyObject()->ping(...\func_get_args()); - } - - public function psetex($key, $timeout, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->psetex(...\func_get_args()); - } - - public function psubscribe($patterns, $callback): void - { - $this->initializeLazyObject()->psubscribe(...\func_get_args()); - } - - public function pttl($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->pttl(...\func_get_args()); - } - - public function pubsub($key_or_address, ...$values): mixed - { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); - } - - public function punsubscribe($pattern, ...$other_patterns): array|bool - { - return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); - } - - public function randomkey($key_or_address): \RedisCluster|bool|string - { - return $this->initializeLazyObject()->randomkey(...\func_get_args()); - } - - public function rawcommand($key_or_address, $command, ...$args): mixed - { - return $this->initializeLazyObject()->rawcommand(...\func_get_args()); - } - - public function rename($key_src, $key_dst): \RedisCluster|bool - { - return $this->initializeLazyObject()->rename(...\func_get_args()); - } - - public function renamenx($key, $newkey): \RedisCluster|bool - { - return $this->initializeLazyObject()->renamenx(...\func_get_args()); - } - - public function restore($key, $timeout, $value, $options = null): \RedisCluster|bool - { - return $this->initializeLazyObject()->restore(...\func_get_args()); - } - - public function role($key_or_address): mixed - { - return $this->initializeLazyObject()->role(...\func_get_args()); - } - - public function rpop($key, $count = 0): \RedisCluster|array|bool|string - { - return $this->initializeLazyObject()->rpop(...\func_get_args()); - } - - public function rpoplpush($src, $dst): \RedisCluster|bool|string - { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); - } - - public function rpush($key, ...$elements): \RedisCluster|false|int - { - return $this->initializeLazyObject()->rpush(...\func_get_args()); - } - - public function rpushx($key, $value): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->rpushx(...\func_get_args()); - } - - public function sadd($key, $value, ...$other_values): \RedisCluster|false|int - { - return $this->initializeLazyObject()->sadd(...\func_get_args()); - } - - public function saddarray($key, $values): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->saddarray(...\func_get_args()); - } - - public function save($key_or_address): \RedisCluster|bool - { - return $this->initializeLazyObject()->save(...\func_get_args()); - } - - public function scan(&$iterator, $key_or_address, $pattern = null, $count = 0): array|bool - { - return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); - } - - public function scard($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->scard(...\func_get_args()); - } - - public function script($key_or_address, ...$args): mixed - { - return $this->initializeLazyObject()->script(...\func_get_args()); - } - - public function sdiff($key, ...$other_keys): \RedisCluster|array|false - { - return $this->initializeLazyObject()->sdiff(...\func_get_args()); - } - - public function sdiffstore($dst, $key, ...$other_keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); - } - - public function set($key, $value, $options = null): \RedisCluster|bool|string - { - return $this->initializeLazyObject()->set(...\func_get_args()); - } - - public function setbit($key, $offset, $onoff): \RedisCluster|false|int - { - return $this->initializeLazyObject()->setbit(...\func_get_args()); - } - - public function setex($key, $expire, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->setex(...\func_get_args()); - } - - public function setnx($key, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->setnx(...\func_get_args()); - } - - public function setoption($option, $value): bool - { - return $this->initializeLazyObject()->setoption(...\func_get_args()); - } - - public function setrange($key, $offset, $value): \RedisCluster|false|int - { - return $this->initializeLazyObject()->setrange(...\func_get_args()); - } - - public function sinter($key, ...$other_keys): \RedisCluster|array|false - { - return $this->initializeLazyObject()->sinter(...\func_get_args()); - } - - public function sintercard($keys, $limit = -1): \RedisCluster|false|int - { - return $this->initializeLazyObject()->sintercard(...\func_get_args()); - } - - public function sinterstore($key, ...$other_keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->sinterstore(...\func_get_args()); - } - - public function sismember($key, $value): \RedisCluster|bool - { - return $this->initializeLazyObject()->sismember(...\func_get_args()); - } - - public function smismember($key, $member, ...$other_members): \RedisCluster|array|false - { - return $this->initializeLazyObject()->smismember(...\func_get_args()); - } - - public function slowlog($key_or_address, ...$args): mixed - { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); - } - - public function smembers($key): \RedisCluster|array|false - { - return $this->initializeLazyObject()->smembers(...\func_get_args()); - } - - public function smove($src, $dst, $member): \RedisCluster|bool - { - return $this->initializeLazyObject()->smove(...\func_get_args()); - } - - public function sort($key, $options = null): \RedisCluster|array|bool|int|string - { - return $this->initializeLazyObject()->sort(...\func_get_args()); - } - - public function sort_ro($key, $options = null): \RedisCluster|array|bool|int|string - { - return $this->initializeLazyObject()->sort_ro(...\func_get_args()); - } - - public function spop($key, $count = 0): \RedisCluster|array|false|string - { - return $this->initializeLazyObject()->spop(...\func_get_args()); - } - - public function srandmember($key, $count = 0): \RedisCluster|array|false|string - { - return $this->initializeLazyObject()->srandmember(...\func_get_args()); - } - - public function srem($key, $value, ...$other_values): \RedisCluster|false|int - { - return $this->initializeLazyObject()->srem(...\func_get_args()); - } - - public function sscan($key, &$iterator, $pattern = null, $count = 0): array|false - { - return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function strlen($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->strlen(...\func_get_args()); - } - - public function subscribe($channels, $cb): void - { - $this->initializeLazyObject()->subscribe(...\func_get_args()); - } - - public function sunion($key, ...$other_keys): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->sunion(...\func_get_args()); - } - - public function sunionstore($dst, $key, ...$other_keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->sunionstore(...\func_get_args()); - } - - public function time($key_or_address): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->time(...\func_get_args()); - } - - public function ttl($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->ttl(...\func_get_args()); - } - - public function type($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->type(...\func_get_args()); - } - - public function unsubscribe($channels): array|bool - { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); - } - - public function unlink($key, ...$other_keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->unlink(...\func_get_args()); - } - - public function unwatch(): bool - { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); - } - - public function watch($key, ...$other_keys): \RedisCluster|bool - { - return $this->initializeLazyObject()->watch(...\func_get_args()); - } - - public function xack($key, $group, $ids): \RedisCluster|false|int - { - return $this->initializeLazyObject()->xack(...\func_get_args()); - } - - public function xadd($key, $id, $values, $maxlen = 0, $approx = false): \RedisCluster|false|string - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function xclaim($key, $group, $consumer, $min_iddle, $ids, $options): \RedisCluster|array|false|string - { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); - } - - public function xdel($key, $ids): \RedisCluster|false|int - { - return $this->initializeLazyObject()->xdel(...\func_get_args()); - } - - public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed - { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); - } - - public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); - } - - public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed - { - return $this->initializeLazyObject()->xinfo(...\func_get_args()); - } - - public function xlen($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->xlen(...\func_get_args()); - } - - public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null): \RedisCluster|array|false - { - return $this->initializeLazyObject()->xpending(...\func_get_args()); - } - - public function xrange($key, $start, $end, $count = -1): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->xrange(...\func_get_args()); - } - - public function xread($streams, $count = -1, $block = -1): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->xread(...\func_get_args()); - } - - public function xreadgroup($group, $consumer, $streams, $count = 1, $block = 1): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); - } - - public function xrevrange($key, $start, $end, $count = -1): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->xrevrange(...\func_get_args()); - } - - public function xtrim($key, $maxlen, $approx = false, $minid = false, $limit = -1): \RedisCluster|false|int - { - return $this->initializeLazyObject()->xtrim(...\func_get_args()); - } - - public function zadd($key, $score_or_options, ...$more_scores_and_mems): \RedisCluster|false|float|int - { - return $this->initializeLazyObject()->zadd(...\func_get_args()); - } - - public function zcard($key): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zcard(...\func_get_args()); - } - - public function zcount($key, $start, $end): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zcount(...\func_get_args()); - } - - public function zincrby($key, $value, $member): \RedisCluster|false|float - { - return $this->initializeLazyObject()->zincrby(...\func_get_args()); - } - - public function zinterstore($dst, $keys, $weights = null, $aggregate = null): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); - } - - public function zintercard($keys, $limit = -1): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zintercard(...\func_get_args()); - } - - public function zlexcount($key, $min, $max): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zlexcount(...\func_get_args()); - } - - public function zpopmax($key, $value = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zpopmax(...\func_get_args()); - } - - public function zpopmin($key, $value = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zpopmin(...\func_get_args()); - } - - public function zrange($key, $start, $end, $options = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zrange(...\func_get_args()); - } - - public function zrangestore($dstkey, $srckey, $start, $end, $options = null): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zrangestore(...\func_get_args()); - } - - public function zrandmember($key, $options = null): \RedisCluster|array|string - { - return $this->initializeLazyObject()->zrandmember(...\func_get_args()); - } - - public function zrangebylex($key, $min, $max, $offset = -1, $count = -1): \RedisCluster|array|false - { - return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); - } - - public function zrangebyscore($key, $start, $end, $options = []): \RedisCluster|array|false - { - return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); - } - - public function zrank($key, $member): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zrank(...\func_get_args()); - } - - public function zrem($key, $value, ...$other_values): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zrem(...\func_get_args()); - } - - public function zremrangebylex($key, $min, $max): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); - } - - public function zremrangebyrank($key, $min, $max): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); - } - - public function zremrangebyscore($key, $min, $max): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); - } - - public function zrevrange($key, $min, $max, $options = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zrevrange(...\func_get_args()); - } - - public function zrevrangebylex($key, $min, $max, $options = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); - } - - public function zrevrangebyscore($key, $min, $max, $options = null): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); - } - - public function zrevrank($key, $member): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zrevrank(...\func_get_args()); - } - - public function zscan($key, &$iterator, $pattern = null, $count = 0): \RedisCluster|array|bool - { - return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); - } - - public function zscore($key, $member): \RedisCluster|false|float - { - return $this->initializeLazyObject()->zscore(...\func_get_args()); - } - - public function zmscore($key, $member, ...$other_members): \Redis|array|false - { - return $this->initializeLazyObject()->zmscore(...\func_get_args()); - } - - public function zunionstore($dst, $keys, $weights = null, $aggregate = null): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); - } - - public function zinter($keys, $weights = null, $options = null): \RedisCluster|array|false - { - return $this->initializeLazyObject()->zinter(...\func_get_args()); - } - - public function zdiffstore($dst, $keys): \RedisCluster|false|int - { - return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); - } - - public function zunion($keys, $weights = null, $options = null): \RedisCluster|array|false - { - return $this->initializeLazyObject()->zunion(...\func_get_args()); - } - - public function zdiff($keys, $options = null): \RedisCluster|array|false - { - return $this->initializeLazyObject()->zdiff(...\func_get_args()); - } -} diff --git a/Traits/RedisCluster6ProxyTrait.php b/Traits/RedisCluster6ProxyTrait.php deleted file mode 100644 index 5033c01..0000000 --- a/Traits/RedisCluster6ProxyTrait.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits; - -if (version_compare(phpversion('redis'), '6.1.0-dev', '>')) { - /** - * @internal - */ - trait RedisCluster6ProxyTrait - { - public function getex($key, $options = []): \RedisCluster|string|false - { - return $this->initializeLazyObject()->getex(...\func_get_args()); - } - - public function publish($channel, $message): \RedisCluster|bool|int - { - return $this->initializeLazyObject()->publish(...\func_get_args()); - } - - public function waitaof($key_or_address, $numlocal, $numreplicas, $timeout): \RedisCluster|array|false - { - return $this->initializeLazyObject()->waitaof(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait RedisCluster6ProxyTrait - { - public function publish($channel, $message): \RedisCluster|bool - { - return $this->initializeLazyObject()->publish(...\func_get_args()); - } - } -} diff --git a/Traits/RedisClusterProxy.php b/Traits/RedisClusterProxy.php index c67d534..2cde053 100644 --- a/Traits/RedisClusterProxy.php +++ b/Traits/RedisClusterProxy.php @@ -11,13 +11,1160 @@ namespace Symfony\Component\Cache\Traits; -class_alias(6.0 <= (float) phpversion('redis') ? RedisCluster6Proxy::class : RedisCluster5Proxy::class, RedisClusterProxy::class); +use Symfony\Component\VarExporter\LazyObjectInterface; +use Symfony\Contracts\Service\ResetInterface; -if (false) { - /** - * @internal - */ - class RedisClusterProxy extends \RedisCluster +// Help opcache.preload discover always-needed symbols +class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); +class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); +class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); + +/** + * @internal + */ +class RedisClusterProxy extends \RedisCluster implements ResetInterface, LazyObjectInterface +{ + use RedisProxyTrait { + resetLazyObject as reset; + } + + public function __construct($name, $seeds = null, $timeout = 0, $read_timeout = 0, $persistent = false, #[\SensitiveParameter] $auth = null, $context = null) + { + $this->initializeLazyObject()->__construct(...\func_get_args()); + } + + public function _compress($value): string + { + return $this->initializeLazyObject()->_compress(...\func_get_args()); + } + + public function _masters(): array + { + return $this->initializeLazyObject()->_masters(...\func_get_args()); + } + + public function _pack($value): string + { + return $this->initializeLazyObject()->_pack(...\func_get_args()); + } + + public function _prefix($key): bool|string + { + return $this->initializeLazyObject()->_prefix(...\func_get_args()); + } + + public function _redir(): ?string + { + return $this->initializeLazyObject()->_redir(...\func_get_args()); + } + + public function _serialize($value): bool|string + { + return $this->initializeLazyObject()->_serialize(...\func_get_args()); + } + + public function _uncompress($value): string + { + return $this->initializeLazyObject()->_uncompress(...\func_get_args()); + } + + public function _unpack($value): mixed + { + return $this->initializeLazyObject()->_unpack(...\func_get_args()); + } + + public function _unserialize($value): mixed + { + return $this->initializeLazyObject()->_unserialize(...\func_get_args()); + } + + public function acl($key_or_address, $subcmd, ...$args): mixed + { + return $this->initializeLazyObject()->acl(...\func_get_args()); + } + + public function append($key, $value): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->append(...\func_get_args()); + } + + public function bgrewriteaof($key_or_address): \RedisCluster|bool + { + return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); + } + + public function bgsave($key_or_address): \RedisCluster|bool + { + return $this->initializeLazyObject()->bgsave(...\func_get_args()); + } + + public function bitcount($key, $start = 0, $end = -1, $bybit = false): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->bitcount(...\func_get_args()); + } + + public function bitop($operation, $deskey, $srckey, ...$otherkeys): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->bitop(...\func_get_args()); + } + + public function bitpos($key, $bit, $start = 0, $end = -1, $bybit = false): \RedisCluster|false|int + { + return $this->initializeLazyObject()->bitpos(...\func_get_args()); + } + + public function blmove($src, $dst, $wherefrom, $whereto, $timeout): \Redis|false|string + { + return $this->initializeLazyObject()->blmove(...\func_get_args()); + } + + public function blmpop($timeout, $keys, $from, $count = 1): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->blmpop(...\func_get_args()); + } + + public function blpop($key, $timeout_or_key, ...$extra_args): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->blpop(...\func_get_args()); + } + + public function brpop($key, $timeout_or_key, ...$extra_args): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->brpop(...\func_get_args()); + } + + public function brpoplpush($srckey, $deskey, $timeout): mixed + { + return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); + } + + public function bzmpop($timeout, $keys, $from, $count = 1): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->bzmpop(...\func_get_args()); + } + + public function bzpopmax($key, $timeout_or_key, ...$extra_args): array + { + return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); + } + + public function bzpopmin($key, $timeout_or_key, ...$extra_args): array + { + return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); + } + + public function clearlasterror(): bool + { + return $this->initializeLazyObject()->clearlasterror(...\func_get_args()); + } + + public function cleartransferredbytes(): void + { + $this->initializeLazyObject()->cleartransferredbytes(...\func_get_args()); + } + + public function client($key_or_address, $subcommand, $arg = null): array|bool|string + { + return $this->initializeLazyObject()->client(...\func_get_args()); + } + + public function close(): bool + { + return $this->initializeLazyObject()->close(...\func_get_args()); + } + + public function cluster($key_or_address, $command, ...$extra_args): mixed + { + return $this->initializeLazyObject()->cluster(...\func_get_args()); + } + + public function command(...$extra_args): mixed + { + return $this->initializeLazyObject()->command(...\func_get_args()); + } + + public function config($key_or_address, $subcommand, ...$extra_args): mixed + { + return $this->initializeLazyObject()->config(...\func_get_args()); + } + + public function copy($src, $dst, $options = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->copy(...\func_get_args()); + } + + public function dbsize($key_or_address): \RedisCluster|int + { + return $this->initializeLazyObject()->dbsize(...\func_get_args()); + } + + public function decr($key, $by = 1): \RedisCluster|false|int + { + return $this->initializeLazyObject()->decr(...\func_get_args()); + } + + public function decrby($key, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->decrby(...\func_get_args()); + } + + public function decrbyfloat($key, $value): float + { + return $this->initializeLazyObject()->decrbyfloat(...\func_get_args()); + } + + public function del($key, ...$other_keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->del(...\func_get_args()); + } + + public function discard(): bool + { + return $this->initializeLazyObject()->discard(...\func_get_args()); + } + + public function dump($key): \RedisCluster|false|string + { + return $this->initializeLazyObject()->dump(...\func_get_args()); + } + + public function echo($key_or_address, $msg): \RedisCluster|false|string + { + return $this->initializeLazyObject()->echo(...\func_get_args()); + } + + public function eval($script, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->eval(...\func_get_args()); + } + + public function eval_ro($script, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->eval_ro(...\func_get_args()); + } + + public function evalsha($script_sha, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->evalsha(...\func_get_args()); + } + + public function evalsha_ro($script_sha, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); + } + + public function exec(): array|false + { + return $this->initializeLazyObject()->exec(...\func_get_args()); + } + + public function exists($key, ...$other_keys): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->exists(...\func_get_args()); + } + + public function expire($key, $timeout, $mode = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->expire(...\func_get_args()); + } + + public function expireat($key, $timestamp, $mode = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->expireat(...\func_get_args()); + } + + public function expiremember($key, $field, $ttl, $unit = null): \Redis|false|int + { + return $this->initializeLazyObject()->expiremember(...\func_get_args()); + } + + public function expirememberat($key, $field, $timestamp): \Redis|false|int + { + return $this->initializeLazyObject()->expirememberat(...\func_get_args()); + } + + public function expiretime($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->expiretime(...\func_get_args()); + } + + public function flushall($key_or_address, $async = false): \RedisCluster|bool + { + return $this->initializeLazyObject()->flushall(...\func_get_args()); + } + + public function flushdb($key_or_address, $async = false): \RedisCluster|bool + { + return $this->initializeLazyObject()->flushdb(...\func_get_args()); + } + + public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \RedisCluster|false|int + { + return $this->initializeLazyObject()->geoadd(...\func_get_args()); + } + + public function geodist($key, $src, $dest, $unit = null): \RedisCluster|false|float + { + return $this->initializeLazyObject()->geodist(...\func_get_args()); + } + + public function geohash($key, $member, ...$other_members): \RedisCluster|array|false + { + return $this->initializeLazyObject()->geohash(...\func_get_args()); + } + + public function geopos($key, $member, ...$other_members): \RedisCluster|array|false + { + return $this->initializeLazyObject()->geopos(...\func_get_args()); + } + + public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadius(...\func_get_args()); + } + + public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); + } + + public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); + } + + public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); + } + + public function geosearch($key, $position, $shape, $unit, $options = []): \RedisCluster|array + { + return $this->initializeLazyObject()->geosearch(...\func_get_args()); + } + + public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \RedisCluster|array|false|int + { + return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); + } + + public function get($key): mixed + { + return $this->initializeLazyObject()->get(...\func_get_args()); + } + + public function getWithMeta($key): \RedisCluster|array|false + { + return $this->initializeLazyObject()->getWithMeta(...\func_get_args()); + } + + public function getbit($key, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->getbit(...\func_get_args()); + } + + public function getdel($key): mixed + { + return $this->initializeLazyObject()->getdel(...\func_get_args()); + } + + public function getex($key, $options = []): \RedisCluster|false|string + { + return $this->initializeLazyObject()->getex(...\func_get_args()); + } + + public function getlasterror(): ?string + { + return $this->initializeLazyObject()->getlasterror(...\func_get_args()); + } + + public function getmode(): int + { + return $this->initializeLazyObject()->getmode(...\func_get_args()); + } + + public function getoption($option): mixed + { + return $this->initializeLazyObject()->getoption(...\func_get_args()); + } + + public function getrange($key, $start, $end): \RedisCluster|false|string + { + return $this->initializeLazyObject()->getrange(...\func_get_args()); + } + + public function getset($key, $value): \RedisCluster|bool|string + { + return $this->initializeLazyObject()->getset(...\func_get_args()); + } + + public function gettransferredbytes(): array|false + { + return $this->initializeLazyObject()->gettransferredbytes(...\func_get_args()); + } + + public function hdel($key, $member, ...$other_members): \RedisCluster|false|int + { + return $this->initializeLazyObject()->hdel(...\func_get_args()); + } + + public function hexists($key, $member): \RedisCluster|bool + { + return $this->initializeLazyObject()->hexists(...\func_get_args()); + } + + public function hget($key, $member): mixed + { + return $this->initializeLazyObject()->hget(...\func_get_args()); + } + + public function hgetall($key): \RedisCluster|array|false + { + return $this->initializeLazyObject()->hgetall(...\func_get_args()); + } + + public function hincrby($key, $member, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->hincrby(...\func_get_args()); + } + + public function hincrbyfloat($key, $member, $value): \RedisCluster|false|float + { + return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); + } + + public function hkeys($key): \RedisCluster|array|false + { + return $this->initializeLazyObject()->hkeys(...\func_get_args()); + } + + public function hlen($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->hlen(...\func_get_args()); + } + + public function hmget($key, $keys): \RedisCluster|array|false + { + return $this->initializeLazyObject()->hmget(...\func_get_args()); + } + + public function hmset($key, $key_values): \RedisCluster|bool + { + return $this->initializeLazyObject()->hmset(...\func_get_args()); + } + + public function hrandfield($key, $options = null): \RedisCluster|array|string + { + return $this->initializeLazyObject()->hrandfield(...\func_get_args()); + } + + public function hscan($key, &$iterator, $pattern = null, $count = 0): array|bool + { + return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function hset($key, $member, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->hset(...\func_get_args()); + } + + public function hsetnx($key, $member, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->hsetnx(...\func_get_args()); + } + + public function hstrlen($key, $field): \RedisCluster|false|int + { + return $this->initializeLazyObject()->hstrlen(...\func_get_args()); + } + + public function hvals($key): \RedisCluster|array|false + { + return $this->initializeLazyObject()->hvals(...\func_get_args()); + } + + public function incr($key, $by = 1): \RedisCluster|false|int + { + return $this->initializeLazyObject()->incr(...\func_get_args()); + } + + public function incrby($key, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->incrby(...\func_get_args()); + } + + public function incrbyfloat($key, $value): \RedisCluster|false|float + { + return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); + } + + public function info($key_or_address, ...$sections): \RedisCluster|array|false + { + return $this->initializeLazyObject()->info(...\func_get_args()); + } + + public function keys($pattern): \RedisCluster|array|false + { + return $this->initializeLazyObject()->keys(...\func_get_args()); + } + + public function lastsave($key_or_address): \RedisCluster|false|int + { + return $this->initializeLazyObject()->lastsave(...\func_get_args()); + } + + public function lcs($key1, $key2, $options = null): \RedisCluster|array|false|int|string + { + return $this->initializeLazyObject()->lcs(...\func_get_args()); + } + + public function lget($key, $index): \RedisCluster|bool|string + { + return $this->initializeLazyObject()->lget(...\func_get_args()); + } + + public function lindex($key, $index): mixed + { + return $this->initializeLazyObject()->lindex(...\func_get_args()); + } + + public function linsert($key, $pos, $pivot, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->linsert(...\func_get_args()); + } + + public function llen($key): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->llen(...\func_get_args()); + } + + public function lmove($src, $dst, $wherefrom, $whereto): \Redis|false|string + { + return $this->initializeLazyObject()->lmove(...\func_get_args()); + } + + public function lmpop($keys, $from, $count = 1): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->lmpop(...\func_get_args()); + } + + public function lpop($key, $count = 0): \RedisCluster|array|bool|string + { + return $this->initializeLazyObject()->lpop(...\func_get_args()); + } + + public function lpos($key, $value, $options = null): \Redis|array|bool|int|null + { + return $this->initializeLazyObject()->lpos(...\func_get_args()); + } + + public function lpush($key, $value, ...$other_values): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->lpush(...\func_get_args()); + } + + public function lpushx($key, $value): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->lpushx(...\func_get_args()); + } + + public function lrange($key, $start, $end): \RedisCluster|array|false + { + return $this->initializeLazyObject()->lrange(...\func_get_args()); + } + + public function lrem($key, $value, $count = 0): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->lrem(...\func_get_args()); + } + + public function lset($key, $index, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->lset(...\func_get_args()); + } + + public function ltrim($key, $start, $end): \RedisCluster|bool + { + return $this->initializeLazyObject()->ltrim(...\func_get_args()); + } + + public function mget($keys): \RedisCluster|array|false + { + return $this->initializeLazyObject()->mget(...\func_get_args()); + } + + public function mset($key_values): \RedisCluster|bool + { + return $this->initializeLazyObject()->mset(...\func_get_args()); + } + + public function msetnx($key_values): \RedisCluster|array|false + { + return $this->initializeLazyObject()->msetnx(...\func_get_args()); + } + + public function multi($value = \Redis::MULTI): \RedisCluster|bool + { + return $this->initializeLazyObject()->multi(...\func_get_args()); + } + + public function object($subcommand, $key): \RedisCluster|false|int|string + { + return $this->initializeLazyObject()->object(...\func_get_args()); + } + + public function persist($key): \RedisCluster|bool + { + return $this->initializeLazyObject()->persist(...\func_get_args()); + } + + public function pexpire($key, $timeout, $mode = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->pexpire(...\func_get_args()); + } + + public function pexpireat($key, $timestamp, $mode = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->pexpireat(...\func_get_args()); + } + + public function pexpiretime($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); + } + + public function pfadd($key, $elements): \RedisCluster|bool + { + return $this->initializeLazyObject()->pfadd(...\func_get_args()); + } + + public function pfcount($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->pfcount(...\func_get_args()); + } + + public function pfmerge($key, $keys): \RedisCluster|bool + { + return $this->initializeLazyObject()->pfmerge(...\func_get_args()); + } + + public function ping($key_or_address, $message = null): mixed + { + return $this->initializeLazyObject()->ping(...\func_get_args()); + } + + public function psetex($key, $timeout, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->psetex(...\func_get_args()); + } + + public function psubscribe($patterns, $callback): void + { + $this->initializeLazyObject()->psubscribe(...\func_get_args()); + } + + public function pttl($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->pttl(...\func_get_args()); + } + + public function publish($channel, $message): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->publish(...\func_get_args()); + } + + public function pubsub($key_or_address, ...$values): mixed + { + return $this->initializeLazyObject()->pubsub(...\func_get_args()); + } + + public function punsubscribe($pattern, ...$other_patterns): array|bool + { + return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); + } + + public function randomkey($key_or_address): \RedisCluster|bool|string + { + return $this->initializeLazyObject()->randomkey(...\func_get_args()); + } + + public function rawcommand($key_or_address, $command, ...$args): mixed + { + return $this->initializeLazyObject()->rawcommand(...\func_get_args()); + } + + public function rename($key_src, $key_dst): \RedisCluster|bool + { + return $this->initializeLazyObject()->rename(...\func_get_args()); + } + + public function renamenx($key, $newkey): \RedisCluster|bool + { + return $this->initializeLazyObject()->renamenx(...\func_get_args()); + } + + public function restore($key, $timeout, $value, $options = null): \RedisCluster|bool + { + return $this->initializeLazyObject()->restore(...\func_get_args()); + } + + public function role($key_or_address): mixed + { + return $this->initializeLazyObject()->role(...\func_get_args()); + } + + public function rpop($key, $count = 0): \RedisCluster|array|bool|string + { + return $this->initializeLazyObject()->rpop(...\func_get_args()); + } + + public function rpoplpush($src, $dst): \RedisCluster|bool|string + { + return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); + } + + public function rpush($key, ...$elements): \RedisCluster|false|int + { + return $this->initializeLazyObject()->rpush(...\func_get_args()); + } + + public function rpushx($key, $value): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->rpushx(...\func_get_args()); + } + + public function sadd($key, $value, ...$other_values): \RedisCluster|false|int + { + return $this->initializeLazyObject()->sadd(...\func_get_args()); + } + + public function saddarray($key, $values): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->saddarray(...\func_get_args()); + } + + public function save($key_or_address): \RedisCluster|bool + { + return $this->initializeLazyObject()->save(...\func_get_args()); + } + + public function scan(&$iterator, $key_or_address, $pattern = null, $count = 0): array|bool + { + return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); + } + + public function scard($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->scard(...\func_get_args()); + } + + public function script($key_or_address, ...$args): mixed + { + return $this->initializeLazyObject()->script(...\func_get_args()); + } + + public function sdiff($key, ...$other_keys): \RedisCluster|array|false + { + return $this->initializeLazyObject()->sdiff(...\func_get_args()); + } + + public function sdiffstore($dst, $key, ...$other_keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); + } + + public function set($key, $value, $options = null): \RedisCluster|bool|string + { + return $this->initializeLazyObject()->set(...\func_get_args()); + } + + public function setbit($key, $offset, $onoff): \RedisCluster|false|int + { + return $this->initializeLazyObject()->setbit(...\func_get_args()); + } + + public function setex($key, $expire, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->setex(...\func_get_args()); + } + + public function setnx($key, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->setnx(...\func_get_args()); + } + + public function setoption($option, $value): bool + { + return $this->initializeLazyObject()->setoption(...\func_get_args()); + } + + public function setrange($key, $offset, $value): \RedisCluster|false|int + { + return $this->initializeLazyObject()->setrange(...\func_get_args()); + } + + public function sinter($key, ...$other_keys): \RedisCluster|array|false + { + return $this->initializeLazyObject()->sinter(...\func_get_args()); + } + + public function sintercard($keys, $limit = -1): \RedisCluster|false|int + { + return $this->initializeLazyObject()->sintercard(...\func_get_args()); + } + + public function sinterstore($key, ...$other_keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->sinterstore(...\func_get_args()); + } + + public function sismember($key, $value): \RedisCluster|bool + { + return $this->initializeLazyObject()->sismember(...\func_get_args()); + } + + public function slowlog($key_or_address, ...$args): mixed + { + return $this->initializeLazyObject()->slowlog(...\func_get_args()); + } + + public function smembers($key): \RedisCluster|array|false + { + return $this->initializeLazyObject()->smembers(...\func_get_args()); + } + + public function smismember($key, $member, ...$other_members): \RedisCluster|array|false + { + return $this->initializeLazyObject()->smismember(...\func_get_args()); + } + + public function smove($src, $dst, $member): \RedisCluster|bool + { + return $this->initializeLazyObject()->smove(...\func_get_args()); + } + + public function sort($key, $options = null): \RedisCluster|array|bool|int|string + { + return $this->initializeLazyObject()->sort(...\func_get_args()); + } + + public function sort_ro($key, $options = null): \RedisCluster|array|bool|int|string + { + return $this->initializeLazyObject()->sort_ro(...\func_get_args()); + } + + public function spop($key, $count = 0): \RedisCluster|array|false|string + { + return $this->initializeLazyObject()->spop(...\func_get_args()); + } + + public function srandmember($key, $count = 0): \RedisCluster|array|false|string + { + return $this->initializeLazyObject()->srandmember(...\func_get_args()); + } + + public function srem($key, $value, ...$other_values): \RedisCluster|false|int + { + return $this->initializeLazyObject()->srem(...\func_get_args()); + } + + public function sscan($key, &$iterator, $pattern = null, $count = 0): array|false + { + return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function strlen($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->strlen(...\func_get_args()); + } + + public function subscribe($channels, $cb): void + { + $this->initializeLazyObject()->subscribe(...\func_get_args()); + } + + public function sunion($key, ...$other_keys): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->sunion(...\func_get_args()); + } + + public function sunionstore($dst, $key, ...$other_keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->sunionstore(...\func_get_args()); + } + + public function time($key_or_address): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->time(...\func_get_args()); + } + + public function touch($key, ...$other_keys): \RedisCluster|bool|int + { + return $this->initializeLazyObject()->touch(...\func_get_args()); + } + + public function ttl($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->ttl(...\func_get_args()); + } + + public function type($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->type(...\func_get_args()); + } + + public function unlink($key, ...$other_keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->unlink(...\func_get_args()); + } + + public function unsubscribe($channels): array|bool + { + return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); + } + + public function unwatch(): bool + { + return $this->initializeLazyObject()->unwatch(...\func_get_args()); + } + + public function waitaof($key_or_address, $numlocal, $numreplicas, $timeout): \RedisCluster|array|false + { + return $this->initializeLazyObject()->waitaof(...\func_get_args()); + } + + public function watch($key, ...$other_keys): \RedisCluster|bool + { + return $this->initializeLazyObject()->watch(...\func_get_args()); + } + + public function xack($key, $group, $ids): \RedisCluster|false|int + { + return $this->initializeLazyObject()->xack(...\func_get_args()); + } + + public function xadd($key, $id, $values, $maxlen = 0, $approx = false): \RedisCluster|false|string + { + return $this->initializeLazyObject()->xadd(...\func_get_args()); + } + + public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); + } + + public function xclaim($key, $group, $consumer, $min_iddle, $ids, $options): \RedisCluster|array|false|string + { + return $this->initializeLazyObject()->xclaim(...\func_get_args()); + } + + public function xdel($key, $ids): \RedisCluster|false|int + { + return $this->initializeLazyObject()->xdel(...\func_get_args()); + } + + public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed + { + return $this->initializeLazyObject()->xgroup(...\func_get_args()); + } + + public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed + { + return $this->initializeLazyObject()->xinfo(...\func_get_args()); + } + + public function xlen($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->xlen(...\func_get_args()); + } + + public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null): \RedisCluster|array|false + { + return $this->initializeLazyObject()->xpending(...\func_get_args()); + } + + public function xrange($key, $start, $end, $count = -1): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->xrange(...\func_get_args()); + } + + public function xread($streams, $count = -1, $block = -1): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->xread(...\func_get_args()); + } + + public function xreadgroup($group, $consumer, $streams, $count = 1, $block = 1): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); + } + + public function xrevrange($key, $start, $end, $count = -1): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->xrevrange(...\func_get_args()); + } + + public function xtrim($key, $maxlen, $approx = false, $minid = false, $limit = -1): \RedisCluster|false|int + { + return $this->initializeLazyObject()->xtrim(...\func_get_args()); + } + + public function zadd($key, $score_or_options, ...$more_scores_and_mems): \RedisCluster|false|float|int + { + return $this->initializeLazyObject()->zadd(...\func_get_args()); + } + + public function zcard($key): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zcard(...\func_get_args()); + } + + public function zcount($key, $start, $end): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zcount(...\func_get_args()); + } + + public function zdiff($keys, $options = null): \RedisCluster|array|false + { + return $this->initializeLazyObject()->zdiff(...\func_get_args()); + } + + public function zdiffstore($dst, $keys): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); + } + + public function zincrby($key, $value, $member): \RedisCluster|false|float + { + return $this->initializeLazyObject()->zincrby(...\func_get_args()); + } + + public function zinter($keys, $weights = null, $options = null): \RedisCluster|array|false + { + return $this->initializeLazyObject()->zinter(...\func_get_args()); + } + + public function zintercard($keys, $limit = -1): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zintercard(...\func_get_args()); + } + + public function zinterstore($dst, $keys, $weights = null, $aggregate = null): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zinterstore(...\func_get_args()); + } + + public function zlexcount($key, $min, $max): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zlexcount(...\func_get_args()); + } + + public function zmpop($keys, $from, $count = 1): \RedisCluster|array|false|null + { + return $this->initializeLazyObject()->zmpop(...\func_get_args()); + } + + public function zmscore($key, $member, ...$other_members): \Redis|array|false + { + return $this->initializeLazyObject()->zmscore(...\func_get_args()); + } + + public function zpopmax($key, $value = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zpopmax(...\func_get_args()); + } + + public function zpopmin($key, $value = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zpopmin(...\func_get_args()); + } + + public function zrandmember($key, $options = null): \RedisCluster|array|string + { + return $this->initializeLazyObject()->zrandmember(...\func_get_args()); + } + + public function zrange($key, $start, $end, $options = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zrange(...\func_get_args()); + } + + public function zrangebylex($key, $min, $max, $offset = -1, $count = -1): \RedisCluster|array|false + { + return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); + } + + public function zrangebyscore($key, $start, $end, $options = []): \RedisCluster|array|false + { + return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); + } + + public function zrangestore($dstkey, $srckey, $start, $end, $options = null): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zrangestore(...\func_get_args()); + } + + public function zrank($key, $member): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zrank(...\func_get_args()); + } + + public function zrem($key, $value, ...$other_values): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zrem(...\func_get_args()); + } + + public function zremrangebylex($key, $min, $max): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); + } + + public function zremrangebyrank($key, $min, $max): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); + } + + public function zremrangebyscore($key, $min, $max): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); + } + + public function zrevrange($key, $min, $max, $options = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zrevrange(...\func_get_args()); + } + + public function zrevrangebylex($key, $min, $max, $options = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); + } + + public function zrevrangebyscore($key, $min, $max, $options = null): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); + } + + public function zrevrank($key, $member): \RedisCluster|false|int + { + return $this->initializeLazyObject()->zrevrank(...\func_get_args()); + } + + public function zscan($key, &$iterator, $pattern = null, $count = 0): \RedisCluster|array|bool + { + return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function zscore($key, $member): \RedisCluster|false|float + { + return $this->initializeLazyObject()->zscore(...\func_get_args()); + } + + public function zunion($keys, $weights = null, $options = null): \RedisCluster|array|false + { + return $this->initializeLazyObject()->zunion(...\func_get_args()); + } + + public function zunionstore($dst, $keys, $weights = null, $aggregate = null): \RedisCluster|false|int { + return $this->initializeLazyObject()->zunionstore(...\func_get_args()); } } diff --git a/Traits/RedisProxy.php b/Traits/RedisProxy.php index 7f4537b..6c75c9a 100644 --- a/Traits/RedisProxy.php +++ b/Traits/RedisProxy.php @@ -11,13 +11,1310 @@ namespace Symfony\Component\Cache\Traits; -class_alias(6.0 <= (float) phpversion('redis') ? Redis6Proxy::class : Redis5Proxy::class, RedisProxy::class); +use Symfony\Component\VarExporter\LazyObjectInterface; +use Symfony\Contracts\Service\ResetInterface; -if (false) { - /** - * @internal - */ - class RedisProxy extends \Redis +// Help opcache.preload discover always-needed symbols +class_exists(\Symfony\Component\VarExporter\Internal\Hydrator::class); +class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectRegistry::class); +class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); + +/** + * @internal + */ +class RedisProxy extends \Redis implements ResetInterface, LazyObjectInterface +{ + use RedisProxyTrait { + resetLazyObject as reset; + } + + public function __construct($options = null) + { + $this->initializeLazyObject()->__construct(...\func_get_args()); + } + + public function _compress($value): string + { + return $this->initializeLazyObject()->_compress(...\func_get_args()); + } + + public function _pack($value): string + { + return $this->initializeLazyObject()->_pack(...\func_get_args()); + } + + public function _prefix($key): string + { + return $this->initializeLazyObject()->_prefix(...\func_get_args()); + } + + public function _serialize($value): string + { + return $this->initializeLazyObject()->_serialize(...\func_get_args()); + } + + public function _uncompress($value): string + { + return $this->initializeLazyObject()->_uncompress(...\func_get_args()); + } + + public function _unpack($value): mixed + { + return $this->initializeLazyObject()->_unpack(...\func_get_args()); + } + + public function _unserialize($value): mixed + { + return $this->initializeLazyObject()->_unserialize(...\func_get_args()); + } + + public function acl($subcmd, ...$args): mixed + { + return $this->initializeLazyObject()->acl(...\func_get_args()); + } + + public function append($key, $value): \Redis|false|int + { + return $this->initializeLazyObject()->append(...\func_get_args()); + } + + public function auth(#[\SensitiveParameter] $credentials): \Redis|bool + { + return $this->initializeLazyObject()->auth(...\func_get_args()); + } + + public function bgSave(): \Redis|bool + { + return $this->initializeLazyObject()->bgSave(...\func_get_args()); + } + + public function bgrewriteaof(): \Redis|bool + { + return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); + } + + public function bitcount($key, $start = 0, $end = -1, $bybit = false): \Redis|false|int + { + return $this->initializeLazyObject()->bitcount(...\func_get_args()); + } + + public function bitop($operation, $deskey, $srckey, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->bitop(...\func_get_args()); + } + + public function bitpos($key, $bit, $start = 0, $end = -1, $bybit = false): \Redis|false|int + { + return $this->initializeLazyObject()->bitpos(...\func_get_args()); + } + + public function blPop($key_or_keys, $timeout_or_key, ...$extra_args): \Redis|array|false|null + { + return $this->initializeLazyObject()->blPop(...\func_get_args()); + } + + public function blmove($src, $dst, $wherefrom, $whereto, $timeout): \Redis|false|string + { + return $this->initializeLazyObject()->blmove(...\func_get_args()); + } + + public function blmpop($timeout, $keys, $from, $count = 1): \Redis|array|false|null + { + return $this->initializeLazyObject()->blmpop(...\func_get_args()); + } + + public function brPop($key_or_keys, $timeout_or_key, ...$extra_args): \Redis|array|false|null + { + return $this->initializeLazyObject()->brPop(...\func_get_args()); + } + + public function brpoplpush($src, $dst, $timeout): \Redis|false|string + { + return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); + } + + public function bzPopMax($key, $timeout_or_key, ...$extra_args): \Redis|array|false + { + return $this->initializeLazyObject()->bzPopMax(...\func_get_args()); + } + + public function bzPopMin($key, $timeout_or_key, ...$extra_args): \Redis|array|false + { + return $this->initializeLazyObject()->bzPopMin(...\func_get_args()); + } + + public function bzmpop($timeout, $keys, $from, $count = 1): \Redis|array|false|null + { + return $this->initializeLazyObject()->bzmpop(...\func_get_args()); + } + + public function clearLastError(): bool + { + return $this->initializeLazyObject()->clearLastError(...\func_get_args()); + } + + public function clearTransferredBytes(): void + { + $this->initializeLazyObject()->clearTransferredBytes(...\func_get_args()); + } + + public function client($opt, ...$args): mixed + { + return $this->initializeLazyObject()->client(...\func_get_args()); + } + + public function close(): bool + { + return $this->initializeLazyObject()->close(...\func_get_args()); + } + + public function command($opt = null, ...$args): mixed + { + return $this->initializeLazyObject()->command(...\func_get_args()); + } + + public function config($operation, $key_or_settings = null, $value = null): mixed + { + return $this->initializeLazyObject()->config(...\func_get_args()); + } + + public function connect($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool + { + return $this->initializeLazyObject()->connect(...\func_get_args()); + } + + public function copy($src, $dst, $options = null): \Redis|bool + { + return $this->initializeLazyObject()->copy(...\func_get_args()); + } + + public function dbSize(): \Redis|false|int + { + return $this->initializeLazyObject()->dbSize(...\func_get_args()); + } + + public function debug($key): \Redis|string + { + return $this->initializeLazyObject()->debug(...\func_get_args()); + } + + public function decr($key, $by = 1): \Redis|false|int + { + return $this->initializeLazyObject()->decr(...\func_get_args()); + } + + public function decrBy($key, $value): \Redis|false|int + { + return $this->initializeLazyObject()->decrBy(...\func_get_args()); + } + + public function del($key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->del(...\func_get_args()); + } + + public function delete($key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->delete(...\func_get_args()); + } + + public function discard(): \Redis|bool + { + return $this->initializeLazyObject()->discard(...\func_get_args()); + } + + public function dump($key): \Redis|false|string + { + return $this->initializeLazyObject()->dump(...\func_get_args()); + } + + public function echo($str): \Redis|false|string + { + return $this->initializeLazyObject()->echo(...\func_get_args()); + } + + public function eval($script, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->eval(...\func_get_args()); + } + + public function eval_ro($script_sha, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->eval_ro(...\func_get_args()); + } + + public function evalsha($sha1, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->evalsha(...\func_get_args()); + } + + public function evalsha_ro($sha1, $args = [], $num_keys = 0): mixed + { + return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); + } + + public function exec(): \Redis|array|false + { + return $this->initializeLazyObject()->exec(...\func_get_args()); + } + + public function exists($key, ...$other_keys): \Redis|bool|int + { + return $this->initializeLazyObject()->exists(...\func_get_args()); + } + + public function expire($key, $timeout, $mode = null): \Redis|bool + { + return $this->initializeLazyObject()->expire(...\func_get_args()); + } + + public function expireAt($key, $timestamp, $mode = null): \Redis|bool + { + return $this->initializeLazyObject()->expireAt(...\func_get_args()); + } + + public function expiremember($key, $field, $ttl, $unit = null): \Redis|false|int + { + return $this->initializeLazyObject()->expiremember(...\func_get_args()); + } + + public function expirememberat($key, $field, $timestamp): \Redis|false|int + { + return $this->initializeLazyObject()->expirememberat(...\func_get_args()); + } + + public function expiretime($key): \Redis|false|int + { + return $this->initializeLazyObject()->expiretime(...\func_get_args()); + } + + public function failover($to = null, $abort = false, $timeout = 0): \Redis|bool + { + return $this->initializeLazyObject()->failover(...\func_get_args()); + } + + public function fcall($fn, $keys = [], $args = []): mixed + { + return $this->initializeLazyObject()->fcall(...\func_get_args()); + } + + public function fcall_ro($fn, $keys = [], $args = []): mixed + { + return $this->initializeLazyObject()->fcall_ro(...\func_get_args()); + } + + public function flushAll($sync = null): \Redis|bool + { + return $this->initializeLazyObject()->flushAll(...\func_get_args()); + } + + public function flushDB($sync = null): \Redis|bool + { + return $this->initializeLazyObject()->flushDB(...\func_get_args()); + } + + public function function($operation, ...$args): \Redis|array|bool|string + { + return $this->initializeLazyObject()->function(...\func_get_args()); + } + + public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \Redis|false|int + { + return $this->initializeLazyObject()->geoadd(...\func_get_args()); + } + + public function geodist($key, $src, $dst, $unit = null): \Redis|false|float + { + return $this->initializeLazyObject()->geodist(...\func_get_args()); + } + + public function geohash($key, $member, ...$other_members): \Redis|array|false + { + return $this->initializeLazyObject()->geohash(...\func_get_args()); + } + + public function geopos($key, $member, ...$other_members): \Redis|array|false + { + return $this->initializeLazyObject()->geopos(...\func_get_args()); + } + + public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadius(...\func_get_args()); + } + + public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); + } + + public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); + } + + public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); + } + + public function geosearch($key, $position, $shape, $unit, $options = []): array + { + return $this->initializeLazyObject()->geosearch(...\func_get_args()); + } + + public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \Redis|array|false|int + { + return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); + } + + public function get($key): mixed + { + return $this->initializeLazyObject()->get(...\func_get_args()); + } + + public function getAuth(): mixed + { + return $this->initializeLazyObject()->getAuth(...\func_get_args()); + } + + public function getBit($key, $idx): \Redis|false|int + { + return $this->initializeLazyObject()->getBit(...\func_get_args()); + } + + public function getDBNum(): int + { + return $this->initializeLazyObject()->getDBNum(...\func_get_args()); + } + + public function getDel($key): \Redis|bool|string + { + return $this->initializeLazyObject()->getDel(...\func_get_args()); + } + + public function getEx($key, $options = []): \Redis|bool|string + { + return $this->initializeLazyObject()->getEx(...\func_get_args()); + } + + public function getHost(): string + { + return $this->initializeLazyObject()->getHost(...\func_get_args()); + } + + public function getLastError(): ?string + { + return $this->initializeLazyObject()->getLastError(...\func_get_args()); + } + + public function getMode(): int + { + return $this->initializeLazyObject()->getMode(...\func_get_args()); + } + + public function getOption($option): mixed + { + return $this->initializeLazyObject()->getOption(...\func_get_args()); + } + + public function getPersistentID(): ?string + { + return $this->initializeLazyObject()->getPersistentID(...\func_get_args()); + } + + public function getPort(): int + { + return $this->initializeLazyObject()->getPort(...\func_get_args()); + } + + public function getRange($key, $start, $end): \Redis|false|string + { + return $this->initializeLazyObject()->getRange(...\func_get_args()); + } + + public function getReadTimeout(): float + { + return $this->initializeLazyObject()->getReadTimeout(...\func_get_args()); + } + + public function getTimeout(): false|float + { + return $this->initializeLazyObject()->getTimeout(...\func_get_args()); + } + + public function getTransferredBytes(): array + { + return $this->initializeLazyObject()->getTransferredBytes(...\func_get_args()); + } + + public function getWithMeta($key): \Redis|array|false + { + return $this->initializeLazyObject()->getWithMeta(...\func_get_args()); + } + + public function getset($key, $value): \Redis|false|string + { + return $this->initializeLazyObject()->getset(...\func_get_args()); + } + + public function hDel($key, $field, ...$other_fields): \Redis|false|int + { + return $this->initializeLazyObject()->hDel(...\func_get_args()); + } + + public function hExists($key, $field): \Redis|bool + { + return $this->initializeLazyObject()->hExists(...\func_get_args()); + } + + public function hGet($key, $member): mixed + { + return $this->initializeLazyObject()->hGet(...\func_get_args()); + } + + public function hGetAll($key): \Redis|array|false + { + return $this->initializeLazyObject()->hGetAll(...\func_get_args()); + } + + public function hIncrBy($key, $field, $value): \Redis|false|int + { + return $this->initializeLazyObject()->hIncrBy(...\func_get_args()); + } + + public function hIncrByFloat($key, $field, $value): \Redis|false|float + { + return $this->initializeLazyObject()->hIncrByFloat(...\func_get_args()); + } + + public function hKeys($key): \Redis|array|false + { + return $this->initializeLazyObject()->hKeys(...\func_get_args()); + } + + public function hLen($key): \Redis|false|int + { + return $this->initializeLazyObject()->hLen(...\func_get_args()); + } + + public function hMget($key, $fields): \Redis|array|false + { + return $this->initializeLazyObject()->hMget(...\func_get_args()); + } + + public function hMset($key, $fieldvals): \Redis|bool + { + return $this->initializeLazyObject()->hMset(...\func_get_args()); + } + + public function hRandField($key, $options = null): \Redis|array|false|string + { + return $this->initializeLazyObject()->hRandField(...\func_get_args()); + } + + public function hSet($key, ...$fields_and_vals): \Redis|false|int + { + return $this->initializeLazyObject()->hSet(...\func_get_args()); + } + + public function hSetNx($key, $field, $value): \Redis|bool + { + return $this->initializeLazyObject()->hSetNx(...\func_get_args()); + } + + public function hStrLen($key, $field): \Redis|false|int + { + return $this->initializeLazyObject()->hStrLen(...\func_get_args()); + } + + public function hVals($key): \Redis|array|false + { + return $this->initializeLazyObject()->hVals(...\func_get_args()); + } + + public function hscan($key, &$iterator, $pattern = null, $count = 0): \Redis|array|bool + { + return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function incr($key, $by = 1): \Redis|false|int + { + return $this->initializeLazyObject()->incr(...\func_get_args()); + } + + public function incrBy($key, $value): \Redis|false|int + { + return $this->initializeLazyObject()->incrBy(...\func_get_args()); + } + + public function incrByFloat($key, $value): \Redis|false|float + { + return $this->initializeLazyObject()->incrByFloat(...\func_get_args()); + } + + public function info(...$sections): \Redis|array|false + { + return $this->initializeLazyObject()->info(...\func_get_args()); + } + + public function isConnected(): bool + { + return $this->initializeLazyObject()->isConnected(...\func_get_args()); + } + + public function keys($pattern) + { + return $this->initializeLazyObject()->keys(...\func_get_args()); + } + + public function lInsert($key, $pos, $pivot, $value) + { + return $this->initializeLazyObject()->lInsert(...\func_get_args()); + } + + public function lLen($key): \Redis|false|int + { + return $this->initializeLazyObject()->lLen(...\func_get_args()); + } + + public function lMove($src, $dst, $wherefrom, $whereto): \Redis|false|string + { + return $this->initializeLazyObject()->lMove(...\func_get_args()); + } + + public function lPop($key, $count = 0): \Redis|array|bool|string + { + return $this->initializeLazyObject()->lPop(...\func_get_args()); + } + + public function lPos($key, $value, $options = null): \Redis|array|bool|int|null + { + return $this->initializeLazyObject()->lPos(...\func_get_args()); + } + + public function lPush($key, ...$elements): \Redis|false|int + { + return $this->initializeLazyObject()->lPush(...\func_get_args()); + } + + public function lPushx($key, $value): \Redis|false|int + { + return $this->initializeLazyObject()->lPushx(...\func_get_args()); + } + + public function lSet($key, $index, $value): \Redis|bool + { + return $this->initializeLazyObject()->lSet(...\func_get_args()); + } + + public function lastSave(): int + { + return $this->initializeLazyObject()->lastSave(...\func_get_args()); + } + + public function lcs($key1, $key2, $options = null): \Redis|array|false|int|string + { + return $this->initializeLazyObject()->lcs(...\func_get_args()); + } + + public function lindex($key, $index): mixed + { + return $this->initializeLazyObject()->lindex(...\func_get_args()); + } + + public function lmpop($keys, $from, $count = 1): \Redis|array|false|null + { + return $this->initializeLazyObject()->lmpop(...\func_get_args()); + } + + public function lrange($key, $start, $end): \Redis|array|false + { + return $this->initializeLazyObject()->lrange(...\func_get_args()); + } + + public function lrem($key, $value, $count = 0): \Redis|false|int + { + return $this->initializeLazyObject()->lrem(...\func_get_args()); + } + + public function ltrim($key, $start, $end): \Redis|bool + { + return $this->initializeLazyObject()->ltrim(...\func_get_args()); + } + + public function mget($keys): \Redis|array|false + { + return $this->initializeLazyObject()->mget(...\func_get_args()); + } + + public function migrate($host, $port, $key, $dstdb, $timeout, $copy = false, $replace = false, #[\SensitiveParameter] $credentials = null): \Redis|bool + { + return $this->initializeLazyObject()->migrate(...\func_get_args()); + } + + public function move($key, $index): \Redis|bool + { + return $this->initializeLazyObject()->move(...\func_get_args()); + } + + public function mset($key_values): \Redis|bool + { + return $this->initializeLazyObject()->mset(...\func_get_args()); + } + + public function msetnx($key_values): \Redis|bool + { + return $this->initializeLazyObject()->msetnx(...\func_get_args()); + } + + public function multi($value = \Redis::MULTI): \Redis|bool + { + return $this->initializeLazyObject()->multi(...\func_get_args()); + } + + public function object($subcommand, $key): \Redis|false|int|string + { + return $this->initializeLazyObject()->object(...\func_get_args()); + } + + public function open($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool + { + return $this->initializeLazyObject()->open(...\func_get_args()); + } + + public function pconnect($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool + { + return $this->initializeLazyObject()->pconnect(...\func_get_args()); + } + + public function persist($key): \Redis|bool + { + return $this->initializeLazyObject()->persist(...\func_get_args()); + } + + public function pexpire($key, $timeout, $mode = null): bool + { + return $this->initializeLazyObject()->pexpire(...\func_get_args()); + } + + public function pexpireAt($key, $timestamp, $mode = null): \Redis|bool + { + return $this->initializeLazyObject()->pexpireAt(...\func_get_args()); + } + + public function pexpiretime($key): \Redis|false|int + { + return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); + } + + public function pfadd($key, $elements): \Redis|int + { + return $this->initializeLazyObject()->pfadd(...\func_get_args()); + } + + public function pfcount($key_or_keys): \Redis|false|int + { + return $this->initializeLazyObject()->pfcount(...\func_get_args()); + } + + public function pfmerge($dst, $srckeys): \Redis|bool + { + return $this->initializeLazyObject()->pfmerge(...\func_get_args()); + } + + public function ping($message = null): \Redis|bool|string + { + return $this->initializeLazyObject()->ping(...\func_get_args()); + } + + public function pipeline(): \Redis|bool + { + return $this->initializeLazyObject()->pipeline(...\func_get_args()); + } + + public function popen($host, $port = 6379, $timeout = 0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0, $context = null): bool + { + return $this->initializeLazyObject()->popen(...\func_get_args()); + } + + public function psetex($key, $expire, $value): \Redis|bool + { + return $this->initializeLazyObject()->psetex(...\func_get_args()); + } + + public function psubscribe($patterns, $cb): bool + { + return $this->initializeLazyObject()->psubscribe(...\func_get_args()); + } + + public function pttl($key): \Redis|false|int + { + return $this->initializeLazyObject()->pttl(...\func_get_args()); + } + + public function publish($channel, $message): \Redis|false|int + { + return $this->initializeLazyObject()->publish(...\func_get_args()); + } + + public function pubsub($command, $arg = null): mixed + { + return $this->initializeLazyObject()->pubsub(...\func_get_args()); + } + + public function punsubscribe($patterns): \Redis|array|bool + { + return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); + } + + public function rPop($key, $count = 0): \Redis|array|bool|string + { + return $this->initializeLazyObject()->rPop(...\func_get_args()); + } + + public function rPush($key, ...$elements): \Redis|false|int + { + return $this->initializeLazyObject()->rPush(...\func_get_args()); + } + + public function rPushx($key, $value): \Redis|false|int + { + return $this->initializeLazyObject()->rPushx(...\func_get_args()); + } + + public function randomKey(): \Redis|false|string + { + return $this->initializeLazyObject()->randomKey(...\func_get_args()); + } + + public function rawcommand($command, ...$args): mixed + { + return $this->initializeLazyObject()->rawcommand(...\func_get_args()); + } + + public function rename($old_name, $new_name): \Redis|bool + { + return $this->initializeLazyObject()->rename(...\func_get_args()); + } + + public function renameNx($key_src, $key_dst): \Redis|bool + { + return $this->initializeLazyObject()->renameNx(...\func_get_args()); + } + + public function replicaof($host = null, $port = 6379): \Redis|bool + { + return $this->initializeLazyObject()->replicaof(...\func_get_args()); + } + + public function restore($key, $ttl, $value, $options = null): \Redis|bool + { + return $this->initializeLazyObject()->restore(...\func_get_args()); + } + + public function role(): mixed + { + return $this->initializeLazyObject()->role(...\func_get_args()); + } + + public function rpoplpush($srckey, $dstkey): \Redis|false|string + { + return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); + } + + public function sAdd($key, $value, ...$other_values): \Redis|false|int + { + return $this->initializeLazyObject()->sAdd(...\func_get_args()); + } + + public function sAddArray($key, $values): int + { + return $this->initializeLazyObject()->sAddArray(...\func_get_args()); + } + + public function sDiff($key, ...$other_keys): \Redis|array|false + { + return $this->initializeLazyObject()->sDiff(...\func_get_args()); + } + + public function sDiffStore($dst, $key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->sDiffStore(...\func_get_args()); + } + + public function sInter($key, ...$other_keys): \Redis|array|false + { + return $this->initializeLazyObject()->sInter(...\func_get_args()); + } + + public function sInterStore($key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->sInterStore(...\func_get_args()); + } + + public function sMembers($key): \Redis|array|false + { + return $this->initializeLazyObject()->sMembers(...\func_get_args()); + } + + public function sMisMember($key, $member, ...$other_members): \Redis|array|false + { + return $this->initializeLazyObject()->sMisMember(...\func_get_args()); + } + + public function sMove($src, $dst, $value): \Redis|bool + { + return $this->initializeLazyObject()->sMove(...\func_get_args()); + } + + public function sPop($key, $count = 0): \Redis|array|false|string + { + return $this->initializeLazyObject()->sPop(...\func_get_args()); + } + + public function sRandMember($key, $count = 0): mixed + { + return $this->initializeLazyObject()->sRandMember(...\func_get_args()); + } + + public function sUnion($key, ...$other_keys): \Redis|array|false + { + return $this->initializeLazyObject()->sUnion(...\func_get_args()); + } + + public function sUnionStore($dst, $key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->sUnionStore(...\func_get_args()); + } + + public function save(): \Redis|bool + { + return $this->initializeLazyObject()->save(...\func_get_args()); + } + + public function scan(&$iterator, $pattern = null, $count = 0, $type = null): array|false + { + return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); + } + + public function scard($key): \Redis|false|int + { + return $this->initializeLazyObject()->scard(...\func_get_args()); + } + + public function script($command, ...$args): mixed + { + return $this->initializeLazyObject()->script(...\func_get_args()); + } + + public function select($db): \Redis|bool + { + return $this->initializeLazyObject()->select(...\func_get_args()); + } + + public function serverName(): false|string + { + return $this->initializeLazyObject()->serverName(...\func_get_args()); + } + + public function serverVersion(): false|string + { + return $this->initializeLazyObject()->serverVersion(...\func_get_args()); + } + + public function set($key, $value, $options = null): \Redis|bool|string + { + return $this->initializeLazyObject()->set(...\func_get_args()); + } + + public function setBit($key, $idx, $value): \Redis|false|int + { + return $this->initializeLazyObject()->setBit(...\func_get_args()); + } + + public function setOption($option, $value): bool + { + return $this->initializeLazyObject()->setOption(...\func_get_args()); + } + + public function setRange($key, $index, $value): \Redis|false|int + { + return $this->initializeLazyObject()->setRange(...\func_get_args()); + } + + public function setex($key, $expire, $value) + { + return $this->initializeLazyObject()->setex(...\func_get_args()); + } + + public function setnx($key, $value): \Redis|bool + { + return $this->initializeLazyObject()->setnx(...\func_get_args()); + } + + public function sintercard($keys, $limit = -1): \Redis|false|int + { + return $this->initializeLazyObject()->sintercard(...\func_get_args()); + } + + public function sismember($key, $value): \Redis|bool + { + return $this->initializeLazyObject()->sismember(...\func_get_args()); + } + + public function slaveof($host = null, $port = 6379): \Redis|bool + { + return $this->initializeLazyObject()->slaveof(...\func_get_args()); + } + + public function slowlog($operation, $length = 0): mixed + { + return $this->initializeLazyObject()->slowlog(...\func_get_args()); + } + + public function sort($key, $options = null): mixed + { + return $this->initializeLazyObject()->sort(...\func_get_args()); + } + + public function sortAsc($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array + { + return $this->initializeLazyObject()->sortAsc(...\func_get_args()); + } + + public function sortAscAlpha($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array + { + return $this->initializeLazyObject()->sortAscAlpha(...\func_get_args()); + } + + public function sortDesc($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array + { + return $this->initializeLazyObject()->sortDesc(...\func_get_args()); + } + + public function sortDescAlpha($key, $pattern = null, $get = null, $offset = -1, $count = -1, $store = null): array + { + return $this->initializeLazyObject()->sortDescAlpha(...\func_get_args()); + } + + public function sort_ro($key, $options = null): mixed + { + return $this->initializeLazyObject()->sort_ro(...\func_get_args()); + } + + public function srem($key, $value, ...$other_values): \Redis|false|int + { + return $this->initializeLazyObject()->srem(...\func_get_args()); + } + + public function sscan($key, &$iterator, $pattern = null, $count = 0): array|false + { + return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function ssubscribe($channels, $cb): bool + { + return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); + } + + public function strlen($key): \Redis|false|int + { + return $this->initializeLazyObject()->strlen(...\func_get_args()); + } + + public function subscribe($channels, $cb): bool + { + return $this->initializeLazyObject()->subscribe(...\func_get_args()); + } + + public function sunsubscribe($channels): \Redis|array|bool + { + return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); + } + + public function swapdb($src, $dst): \Redis|bool + { + return $this->initializeLazyObject()->swapdb(...\func_get_args()); + } + + public function time(): \Redis|array + { + return $this->initializeLazyObject()->time(...\func_get_args()); + } + + public function touch($key_or_array, ...$more_keys): \Redis|false|int + { + return $this->initializeLazyObject()->touch(...\func_get_args()); + } + + public function ttl($key): \Redis|false|int + { + return $this->initializeLazyObject()->ttl(...\func_get_args()); + } + + public function type($key): \Redis|false|int + { + return $this->initializeLazyObject()->type(...\func_get_args()); + } + + public function unlink($key, ...$other_keys): \Redis|false|int + { + return $this->initializeLazyObject()->unlink(...\func_get_args()); + } + + public function unsubscribe($channels): \Redis|array|bool + { + return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); + } + + public function unwatch(): \Redis|bool + { + return $this->initializeLazyObject()->unwatch(...\func_get_args()); + } + + public function wait($numreplicas, $timeout): false|int + { + return $this->initializeLazyObject()->wait(...\func_get_args()); + } + + public function waitaof($numlocal, $numreplicas, $timeout): \Redis|array|false + { + return $this->initializeLazyObject()->waitaof(...\func_get_args()); + } + + public function watch($key, ...$other_keys): \Redis|bool + { + return $this->initializeLazyObject()->watch(...\func_get_args()); + } + + public function xack($key, $group, $ids): false|int + { + return $this->initializeLazyObject()->xack(...\func_get_args()); + } + + public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Redis|false|string + { + return $this->initializeLazyObject()->xadd(...\func_get_args()); + } + + public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \Redis|array|bool + { + return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); + } + + public function xclaim($key, $group, $consumer, $min_idle, $ids, $options): \Redis|array|bool + { + return $this->initializeLazyObject()->xclaim(...\func_get_args()); + } + + public function xdel($key, $ids): \Redis|false|int + { + return $this->initializeLazyObject()->xdel(...\func_get_args()); + } + + public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed + { + return $this->initializeLazyObject()->xgroup(...\func_get_args()); + } + + public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed + { + return $this->initializeLazyObject()->xinfo(...\func_get_args()); + } + + public function xlen($key): \Redis|false|int + { + return $this->initializeLazyObject()->xlen(...\func_get_args()); + } + + public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null): \Redis|array|false + { + return $this->initializeLazyObject()->xpending(...\func_get_args()); + } + + public function xrange($key, $start, $end, $count = -1): \Redis|array|bool + { + return $this->initializeLazyObject()->xrange(...\func_get_args()); + } + + public function xread($streams, $count = -1, $block = -1): \Redis|array|bool + { + return $this->initializeLazyObject()->xread(...\func_get_args()); + } + + public function xreadgroup($group, $consumer, $streams, $count = 1, $block = 1): \Redis|array|bool + { + return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); + } + + public function xrevrange($key, $end, $start, $count = -1): \Redis|array|bool + { + return $this->initializeLazyObject()->xrevrange(...\func_get_args()); + } + + public function xtrim($key, $threshold, $approx = false, $minid = false, $limit = -1): \Redis|false|int + { + return $this->initializeLazyObject()->xtrim(...\func_get_args()); + } + + public function zAdd($key, $score_or_options, ...$more_scores_and_mems): \Redis|false|float|int + { + return $this->initializeLazyObject()->zAdd(...\func_get_args()); + } + + public function zCard($key): \Redis|false|int + { + return $this->initializeLazyObject()->zCard(...\func_get_args()); + } + + public function zCount($key, $start, $end): \Redis|false|int + { + return $this->initializeLazyObject()->zCount(...\func_get_args()); + } + + public function zIncrBy($key, $value, $member): \Redis|false|float + { + return $this->initializeLazyObject()->zIncrBy(...\func_get_args()); + } + + public function zLexCount($key, $min, $max): \Redis|false|int + { + return $this->initializeLazyObject()->zLexCount(...\func_get_args()); + } + + public function zMscore($key, $member, ...$other_members): \Redis|array|false + { + return $this->initializeLazyObject()->zMscore(...\func_get_args()); + } + + public function zPopMax($key, $count = null): \Redis|array|false + { + return $this->initializeLazyObject()->zPopMax(...\func_get_args()); + } + + public function zPopMin($key, $count = null): \Redis|array|false + { + return $this->initializeLazyObject()->zPopMin(...\func_get_args()); + } + + public function zRandMember($key, $options = null): \Redis|array|string + { + return $this->initializeLazyObject()->zRandMember(...\func_get_args()); + } + + public function zRange($key, $start, $end, $options = null): \Redis|array|false + { + return $this->initializeLazyObject()->zRange(...\func_get_args()); + } + + public function zRangeByLex($key, $min, $max, $offset = -1, $count = -1): \Redis|array|false + { + return $this->initializeLazyObject()->zRangeByLex(...\func_get_args()); + } + + public function zRangeByScore($key, $start, $end, $options = []): \Redis|array|false + { + return $this->initializeLazyObject()->zRangeByScore(...\func_get_args()); + } + + public function zRank($key, $member): \Redis|false|int + { + return $this->initializeLazyObject()->zRank(...\func_get_args()); + } + + public function zRem($key, $member, ...$other_members): \Redis|false|int + { + return $this->initializeLazyObject()->zRem(...\func_get_args()); + } + + public function zRemRangeByLex($key, $min, $max): \Redis|false|int + { + return $this->initializeLazyObject()->zRemRangeByLex(...\func_get_args()); + } + + public function zRemRangeByRank($key, $start, $end): \Redis|false|int + { + return $this->initializeLazyObject()->zRemRangeByRank(...\func_get_args()); + } + + public function zRemRangeByScore($key, $start, $end): \Redis|false|int + { + return $this->initializeLazyObject()->zRemRangeByScore(...\func_get_args()); + } + + public function zRevRange($key, $start, $end, $scores = null): \Redis|array|false + { + return $this->initializeLazyObject()->zRevRange(...\func_get_args()); + } + + public function zRevRangeByLex($key, $max, $min, $offset = -1, $count = -1): \Redis|array|false + { + return $this->initializeLazyObject()->zRevRangeByLex(...\func_get_args()); + } + + public function zRevRangeByScore($key, $max, $min, $options = []): \Redis|array|false + { + return $this->initializeLazyObject()->zRevRangeByScore(...\func_get_args()); + } + + public function zRevRank($key, $member): \Redis|false|int + { + return $this->initializeLazyObject()->zRevRank(...\func_get_args()); + } + + public function zScore($key, $member): \Redis|false|float + { + return $this->initializeLazyObject()->zScore(...\func_get_args()); + } + + public function zdiff($keys, $options = null): \Redis|array|false + { + return $this->initializeLazyObject()->zdiff(...\func_get_args()); + } + + public function zdiffstore($dst, $keys): \Redis|false|int + { + return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); + } + + public function zinter($keys, $weights = null, $options = null): \Redis|array|false + { + return $this->initializeLazyObject()->zinter(...\func_get_args()); + } + + public function zintercard($keys, $limit = -1): \Redis|false|int + { + return $this->initializeLazyObject()->zintercard(...\func_get_args()); + } + + public function zinterstore($dst, $keys, $weights = null, $aggregate = null): \Redis|false|int + { + return $this->initializeLazyObject()->zinterstore(...\func_get_args()); + } + + public function zmpop($keys, $from, $count = 1): \Redis|array|false|null + { + return $this->initializeLazyObject()->zmpop(...\func_get_args()); + } + + public function zrangestore($dstkey, $srckey, $start, $end, $options = null): \Redis|false|int + { + return $this->initializeLazyObject()->zrangestore(...\func_get_args()); + } + + public function zscan($key, &$iterator, $pattern = null, $count = 0): \Redis|array|false + { + return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function zunion($keys, $weights = null, $options = null): \Redis|array|false + { + return $this->initializeLazyObject()->zunion(...\func_get_args()); + } + + public function zunionstore($dst, $keys, $weights = null, $aggregate = null): \Redis|false|int { + return $this->initializeLazyObject()->zunionstore(...\func_get_args()); } } diff --git a/Traits/Relay/BgsaveTrait.php b/Traits/Relay/BgsaveTrait.php deleted file mode 100644 index 367f82f..0000000 --- a/Traits/Relay/BgsaveTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.11', '>=')) { - /** - * @internal - */ - trait BgsaveTrait - { - public function bgsave($arg = null): \Relay\Relay|bool - { - return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait BgsaveTrait - { - public function bgsave($schedule = false): \Relay\Relay|bool - { - return ($this->lazyObjectState->realInstance ??= ($this->lazyObjectState->initializer)())->bgsave(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/CopyTrait.php b/Traits/Relay/CopyTrait.php deleted file mode 100644 index 84d52f4..0000000 --- a/Traits/Relay/CopyTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.8.1', '>=')) { - /** - * @internal - */ - trait CopyTrait - { - public function copy($src, $dst, $options = null): \Relay\Relay|bool - { - return $this->initializeLazyObject()->copy(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait CopyTrait - { - public function copy($src, $dst, $options = null): \Relay\Relay|false|int - { - return $this->initializeLazyObject()->copy(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/GeosearchTrait.php b/Traits/Relay/GeosearchTrait.php deleted file mode 100644 index a358f80..0000000 --- a/Traits/Relay/GeosearchTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait GeosearchTrait - { - public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Relay|array|false - { - return $this->initializeLazyObject()->geosearch(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait GeosearchTrait - { - public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Relay|array - { - return $this->initializeLazyObject()->geosearch(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/GetrangeTrait.php b/Traits/Relay/GetrangeTrait.php deleted file mode 100644 index f26333e..0000000 --- a/Traits/Relay/GetrangeTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait GetrangeTrait - { - public function getrange($key, $start, $end): mixed - { - return $this->initializeLazyObject()->getrange(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait GetrangeTrait - { - public function getrange($key, $start, $end): \Relay\Relay|false|string - { - return $this->initializeLazyObject()->getrange(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/HsetTrait.php b/Traits/Relay/HsetTrait.php deleted file mode 100644 index 8334244..0000000 --- a/Traits/Relay/HsetTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait HsetTrait - { - public function hset($key, ...$keys_and_vals): \Relay\Relay|false|int - { - return $this->initializeLazyObject()->hset(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait HsetTrait - { - public function hset($key, $mem, $val, ...$kvals): \Relay\Relay|false|int - { - return $this->initializeLazyObject()->hset(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/MoveTrait.php b/Traits/Relay/MoveTrait.php deleted file mode 100644 index 18086f6..0000000 --- a/Traits/Relay/MoveTrait.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait MoveTrait - { - public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): mixed - { - return $this->initializeLazyObject()->blmove(...\func_get_args()); - } - - public function lmove($srckey, $dstkey, $srcpos, $dstpos): mixed - { - return $this->initializeLazyObject()->lmove(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait MoveTrait - { - public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): \Relay\Relay|false|string|null - { - return $this->initializeLazyObject()->blmove(...\func_get_args()); - } - - public function lmove($srckey, $dstkey, $srcpos, $dstpos): \Relay\Relay|false|string|null - { - return $this->initializeLazyObject()->lmove(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/NullableReturnTrait.php b/Traits/Relay/NullableReturnTrait.php deleted file mode 100644 index 661ec47..0000000 --- a/Traits/Relay/NullableReturnTrait.php +++ /dev/null @@ -1,96 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait NullableReturnTrait - { - public function dump($key): \Relay\Relay|false|string|null - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function geodist($key, $src, $dst, $unit = null): \Relay\Relay|false|float|null - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function hrandfield($hash, $options = null): \Relay\Relay|array|false|string|null - { - return $this->initializeLazyObject()->hrandfield(...\func_get_args()); - } - - public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Relay|false|string|null - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function zrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null - { - return $this->initializeLazyObject()->zrank(...\func_get_args()); - } - - public function zrevrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null - { - return $this->initializeLazyObject()->zrevrank(...\func_get_args()); - } - - public function zscore($key, $member): \Relay\Relay|false|float|null - { - return $this->initializeLazyObject()->zscore(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait NullableReturnTrait - { - public function dump($key): \Relay\Relay|false|string - { - return $this->initializeLazyObject()->dump(...\func_get_args()); - } - - public function geodist($key, $src, $dst, $unit = null): \Relay\Relay|false|float - { - return $this->initializeLazyObject()->geodist(...\func_get_args()); - } - - public function hrandfield($hash, $options = null): \Relay\Relay|array|false|string - { - return $this->initializeLazyObject()->hrandfield(...\func_get_args()); - } - - public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Relay|false|string - { - return $this->initializeLazyObject()->xadd(...\func_get_args()); - } - - public function zrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int - { - return $this->initializeLazyObject()->zrank(...\func_get_args()); - } - - public function zrevrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int - { - return $this->initializeLazyObject()->zrevrank(...\func_get_args()); - } - - public function zscore($key, $member): \Relay\Relay|false|float - { - return $this->initializeLazyObject()->zscore(...\func_get_args()); - } - } -} diff --git a/Traits/Relay/PfcountTrait.php b/Traits/Relay/PfcountTrait.php deleted file mode 100644 index 84e5c59..0000000 --- a/Traits/Relay/PfcountTrait.php +++ /dev/null @@ -1,36 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Cache\Traits\Relay; - -if (version_compare(phpversion('relay'), '0.9.0', '>=')) { - /** - * @internal - */ - trait PfcountTrait - { - public function pfcount($key_or_keys): \Relay\Relay|false|int - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - } -} else { - /** - * @internal - */ - trait PfcountTrait - { - public function pfcount($key): \Relay\Relay|false|int - { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); - } - } -} diff --git a/Traits/RelayClusterProxy.php b/Traits/RelayClusterProxy.php index af524c8..596fac9 100644 --- a/Traits/RelayClusterProxy.php +++ b/Traits/RelayClusterProxy.php @@ -11,8 +11,6 @@ namespace Symfony\Component\Cache\Traits; -use Relay\Cluster; -use Relay\Relay; use Symfony\Component\VarExporter\LazyObjectInterface; use Symfony\Contracts\Service\ResetInterface; @@ -24,122 +22,145 @@ class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); /** * @internal */ -class RelayClusterProxy extends Cluster implements ResetInterface, LazyObjectInterface +class RelayClusterProxy extends \Relay\Cluster implements ResetInterface, LazyObjectInterface { use RedisProxyTrait { resetLazyObject as reset; } - public function __construct( - ?string $name, - ?array $seeds = null, - int|float $connect_timeout = 0, - int|float $command_timeout = 0, - bool $persistent = false, - #[\SensitiveParameter] mixed $auth = null, - ?array $context = null, - ) { + public function __construct($name, $seeds = null, $connect_timeout = 0, $command_timeout = 0, $persistent = false, #[\SensitiveParameter] $auth = null, $context = null) + { $this->initializeLazyObject()->__construct(...\func_get_args()); } - public function close(): bool + public function _compress($value): string { - return $this->initializeLazyObject()->close(...\func_get_args()); + return $this->initializeLazyObject()->_compress(...\func_get_args()); } - public function listen(?callable $callback): bool + public function _getKeys(): array|false { - return $this->initializeLazyObject()->listen(...\func_get_args()); + return $this->initializeLazyObject()->_getKeys(...\func_get_args()); } - public function onFlushed(?callable $callback): bool + public function _masters(): array { - return $this->initializeLazyObject()->onFlushed(...\func_get_args()); + return $this->initializeLazyObject()->_masters(...\func_get_args()); } - public function onInvalidated(?callable $callback, ?string $pattern = null): bool + public function _pack($value): string { - return $this->initializeLazyObject()->onInvalidated(...\func_get_args()); + return $this->initializeLazyObject()->_pack(...\func_get_args()); } - public function dispatchEvents(): false|int + public function _prefix($value): string { - return $this->initializeLazyObject()->dispatchEvents(...\func_get_args()); + return $this->initializeLazyObject()->_prefix(...\func_get_args()); } - public function dump(mixed $key): Cluster|string|false + public function _serialize($value): string { - return $this->initializeLazyObject()->dump(...\func_get_args()); + return $this->initializeLazyObject()->_serialize(...\func_get_args()); } - public function getOption(int $option): mixed + public function _uncompress($value): string { - return $this->initializeLazyObject()->getOption(...\func_get_args()); + return $this->initializeLazyObject()->_uncompress(...\func_get_args()); } - public function setOption(int $option, mixed $value): bool + public function _unpack($value): mixed { - return $this->initializeLazyObject()->setOption(...\func_get_args()); + return $this->initializeLazyObject()->_unpack(...\func_get_args()); } - public function getTransferredBytes(): array|false + public function _unserialize($value): mixed { - return $this->initializeLazyObject()->getTransferredBytes(...\func_get_args()); + return $this->initializeLazyObject()->_unserialize(...\func_get_args()); } - public function getrange(mixed $key, int $start, int $end): Cluster|string|false + public function acl($key_or_address, $operation, ...$args): mixed { - return $this->initializeLazyObject()->getrange(...\func_get_args()); + return $this->initializeLazyObject()->acl(...\func_get_args()); + } + + public function addAllowPatterns(...$pattern): int + { + return $this->initializeLazyObject()->addAllowPatterns(...\func_get_args()); } - public function addIgnorePatterns(string ...$pattern): int + public function addIgnorePatterns(...$pattern): int { return $this->initializeLazyObject()->addIgnorePatterns(...\func_get_args()); } - public function addAllowPatterns(string ...$pattern): int + public function append($key, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->addAllowPatterns(...\func_get_args()); + return $this->initializeLazyObject()->append(...\func_get_args()); } - public function _serialize(mixed $value): string + public function bgrewriteaof($key_or_address): \Relay\Cluster|bool { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); + return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); } - public function _unserialize(string $value): mixed + public function bgsave($key_or_address, $schedule = false): \Relay\Cluster|bool { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); + return $this->initializeLazyObject()->bgsave(...\func_get_args()); } - public function _compress(string $value): string + public function bitcount($key, $start = 0, $end = -1, $by_bit = false): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->_compress(...\func_get_args()); + return $this->initializeLazyObject()->bitcount(...\func_get_args()); } - public function _uncompress(string $value): string + public function bitop($operation, $dstkey, $srckey, ...$other_keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); + return $this->initializeLazyObject()->bitop(...\func_get_args()); } - public function _pack(mixed $value): string + public function bitpos($key, $bit, $start = null, $end = null, $by_bit = false): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->_pack(...\func_get_args()); + return $this->initializeLazyObject()->bitpos(...\func_get_args()); } - public function _unpack(string $value): mixed + public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): \Relay\Cluster|false|string|null { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); + return $this->initializeLazyObject()->blmove(...\func_get_args()); } - public function _prefix(mixed $value): string + public function blmpop($timeout, $keys, $from, $count = 1): mixed { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); + return $this->initializeLazyObject()->blmpop(...\func_get_args()); } - public function getLastError(): ?string + public function blpop($key, $timeout_or_key, ...$extra_args): \Relay\Cluster|array|false|null { - return $this->initializeLazyObject()->getLastError(...\func_get_args()); + return $this->initializeLazyObject()->blpop(...\func_get_args()); + } + + public function brpop($key, $timeout_or_key, ...$extra_args): \Relay\Cluster|array|false|null + { + return $this->initializeLazyObject()->brpop(...\func_get_args()); + } + + public function brpoplpush($srckey, $dstkey, $timeout): mixed + { + return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); + } + + public function bzmpop($timeout, $keys, $from, $count = 1): \Relay\Cluster|array|false|null + { + return $this->initializeLazyObject()->bzmpop(...\func_get_args()); + } + + public function bzpopmax($key, $timeout_or_key, ...$extra_args): \Relay\Cluster|array|false|null + { + return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); + } + + public function bzpopmin($key, $timeout_or_key, ...$extra_args): \Relay\Cluster|array|false|null + { + return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); } public function clearLastError(): bool @@ -152,1053 +173,1078 @@ public function clearTransferredBytes(): bool return $this->initializeLazyObject()->clearTransferredBytes(...\func_get_args()); } - public function endpointId(): array|false + public function client($key_or_address, $operation, ...$args): mixed { - return $this->initializeLazyObject()->endpointId(...\func_get_args()); + return $this->initializeLazyObject()->client(...\func_get_args()); } - public function rawCommand(array|string $key_or_address, string $cmd, mixed ...$args): mixed + public function close(): bool { - return $this->initializeLazyObject()->rawCommand(...\func_get_args()); + return $this->initializeLazyObject()->close(...\func_get_args()); } - public function cluster(array|string $key_or_address, string $operation, mixed ...$args): mixed + public function cluster($key_or_address, $operation, ...$args): mixed { return $this->initializeLazyObject()->cluster(...\func_get_args()); } - public function info(array|string $key_or_address, string ...$sections): Cluster|array|false + public function command(...$args): \Relay\Cluster|array|false|int { - return $this->initializeLazyObject()->info(...\func_get_args()); + return $this->initializeLazyObject()->command(...\func_get_args()); } - public function flushdb(array|string $key_or_address, ?bool $sync = null): Cluster|bool + public function config($key_or_address, $operation, ...$args): mixed { - return $this->initializeLazyObject()->flushdb(...\func_get_args()); + return $this->initializeLazyObject()->config(...\func_get_args()); } - public function flushall(array|string $key_or_address, ?bool $sync = null): Cluster|bool + public function copy($srckey, $dstkey, $options = null): \Relay\Cluster|bool { - return $this->initializeLazyObject()->flushall(...\func_get_args()); + return $this->initializeLazyObject()->copy(...\func_get_args()); } - public function dbsize(array|string $key_or_address): Cluster|int|false + public function dbsize($key_or_address): \Relay\Cluster|false|int { return $this->initializeLazyObject()->dbsize(...\func_get_args()); } - public function waitaof(array|string $key_or_address, int $numlocal, int $numremote, int $timeout): Relay|array|false + public function decr($key, $by = 1): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->waitaof(...\func_get_args()); + return $this->initializeLazyObject()->decr(...\func_get_args()); } - public function restore(mixed $key, int $ttl, string $value, ?array $options = null): Cluster|bool + public function decrby($key, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->restore(...\func_get_args()); + return $this->initializeLazyObject()->decrby(...\func_get_args()); } - public function echo(array|string $key_or_address, string $message): Cluster|string|false + public function del(...$keys): \Relay\Cluster|bool|int { - return $this->initializeLazyObject()->echo(...\func_get_args()); + return $this->initializeLazyObject()->del(...\func_get_args()); } - public function ping(array|string $key_or_address, ?string $message = null): Cluster|bool|string + public function discard(): bool { - return $this->initializeLazyObject()->ping(...\func_get_args()); + return $this->initializeLazyObject()->discard(...\func_get_args()); } - public function idleTime(): int + public function dispatchEvents(): false|int { - return $this->initializeLazyObject()->idleTime(...\func_get_args()); + return $this->initializeLazyObject()->dispatchEvents(...\func_get_args()); } - public function randomkey(array|string $key_or_address): Cluster|bool|string + public function dump($key): \Relay\Cluster|false|string { - return $this->initializeLazyObject()->randomkey(...\func_get_args()); + return $this->initializeLazyObject()->dump(...\func_get_args()); } - public function time(array|string $key_or_address): Cluster|array|false + public function echo($key_or_address, $message): \Relay\Cluster|false|string { - return $this->initializeLazyObject()->time(...\func_get_args()); + return $this->initializeLazyObject()->echo(...\func_get_args()); } - public function bgrewriteaof(array|string $key_or_address): Cluster|bool + public function endpointId(): array|false { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); + return $this->initializeLazyObject()->endpointId(...\func_get_args()); } - public function lastsave(array|string $key_or_address): Cluster|false|int + public function eval($script, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->lastsave(...\func_get_args()); + return $this->initializeLazyObject()->eval(...\func_get_args()); } - public function lcs(mixed $key1, mixed $key2, ?array $options = null): mixed + public function eval_ro($script, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->lcs(...\func_get_args()); + return $this->initializeLazyObject()->eval_ro(...\func_get_args()); } - public function bgsave(array|string $key_or_address, bool $schedule = false): Cluster|bool + public function evalsha($sha, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->bgsave(...\func_get_args()); + return $this->initializeLazyObject()->evalsha(...\func_get_args()); } - public function save(array|string $key_or_address): Cluster|bool + public function evalsha_ro($sha, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->save(...\func_get_args()); + return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); } - public function role(array|string $key_or_address): Cluster|array|false + public function exec(): array|false { - return $this->initializeLazyObject()->role(...\func_get_args()); + return $this->initializeLazyObject()->exec(...\func_get_args()); } - public function ttl(mixed $key): Cluster|false|int + public function exists(...$keys): \Relay\Cluster|bool|int { - return $this->initializeLazyObject()->ttl(...\func_get_args()); + return $this->initializeLazyObject()->exists(...\func_get_args()); } - public function pttl(mixed $key): Cluster|false|int + public function expire($key, $seconds, $mode = null): \Relay\Cluster|bool { - return $this->initializeLazyObject()->pttl(...\func_get_args()); + return $this->initializeLazyObject()->expire(...\func_get_args()); } - public function exists(mixed ...$keys): Cluster|bool|int + public function expireat($key, $timestamp): \Relay\Cluster|bool { - return $this->initializeLazyObject()->exists(...\func_get_args()); + return $this->initializeLazyObject()->expireat(...\func_get_args()); } - public function eval(mixed $script, array $args = [], int $num_keys = 0): mixed + public function expiretime($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->eval(...\func_get_args()); + return $this->initializeLazyObject()->expiretime(...\func_get_args()); } - public function eval_ro(mixed $script, array $args = [], int $num_keys = 0): mixed + public function flushSlotCache(): bool { - return $this->initializeLazyObject()->eval_ro(...\func_get_args()); + return $this->initializeLazyObject()->flushSlotCache(...\func_get_args()); } - public function evalsha(string $sha, array $args = [], int $num_keys = 0): mixed + public function flushall($key_or_address, $sync = null): \Relay\Cluster|bool { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); + return $this->initializeLazyObject()->flushall(...\func_get_args()); } - public function evalsha_ro(string $sha, array $args = [], int $num_keys = 0): mixed + public function flushdb($key_or_address, $sync = null): \Relay\Cluster|bool { - return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); + return $this->initializeLazyObject()->flushdb(...\func_get_args()); } - public function client(array|string $key_or_address, string $operation, mixed ...$args): mixed + public function fullscan($match = null, $count = 0, $type = null): \Generator|false { - return $this->initializeLazyObject()->client(...\func_get_args()); + return $this->initializeLazyObject()->fullscan(...\func_get_args()); } - public function geoadd(mixed $key, float $lng, float $lat, string $member, mixed ...$other_triples_and_options): Cluster|false|int + public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \Relay\Cluster|false|int { return $this->initializeLazyObject()->geoadd(...\func_get_args()); } - public function geodist(mixed $key, string $src, string $dst, ?string $unit = null): Cluster|float|false + public function geodist($key, $src, $dst, $unit = null): \Relay\Cluster|false|float { return $this->initializeLazyObject()->geodist(...\func_get_args()); } - public function geohash(mixed $key, string $member, string ...$other_members): Cluster|array|false + public function geohash($key, $member, ...$other_members): \Relay\Cluster|array|false { return $this->initializeLazyObject()->geohash(...\func_get_args()); } - public function georadius(mixed $key, float $lng, float $lat, float $radius, string $unit, array $options = []): mixed + public function geopos($key, ...$members): \Relay\Cluster|array|false + { + return $this->initializeLazyObject()->geopos(...\func_get_args()); + } + + public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed { return $this->initializeLazyObject()->georadius(...\func_get_args()); } - public function georadiusbymember(mixed $key, string $member, float $radius, string $unit, array $options = []): mixed + public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed + { + return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); + } + + public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed { return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); } - public function georadiusbymember_ro(mixed $key, string $member, float $radius, string $unit, array $options = []): mixed + public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed { return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); } - public function georadius_ro(mixed $key, float $lng, float $lat, float $radius, string $unit, array $options = []): mixed + public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); + return $this->initializeLazyObject()->geosearch(...\func_get_args()); } - public function geosearchstore(mixed $dstkey, mixed $srckey, array|string $position, array|int|float $shape, string $unit, array $options = []): Cluster|false|int + public function geosearchstore($dstkey, $srckey, $position, $shape, $unit, $options = []): \Relay\Cluster|false|int { return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); } - public function geosearch(mixed $key, array|string $position, array|int|float $shape, string $unit, array $options = []): Cluster|array|false + public function get($key): mixed { - return $this->initializeLazyObject()->geosearch(...\func_get_args()); + return $this->initializeLazyObject()->get(...\func_get_args()); } - public function get(mixed $key): mixed + public function getLastError(): ?string { - return $this->initializeLazyObject()->get(...\func_get_args()); + return $this->initializeLazyObject()->getLastError(...\func_get_args()); } - public function getset(mixed $key, mixed $value): mixed + public function getMode($masked = false): int { - return $this->initializeLazyObject()->getset(...\func_get_args()); + return $this->initializeLazyObject()->getMode(...\func_get_args()); } - public function setrange(mixed $key, int $start, mixed $value): Cluster|false|int + public function getOption($option): mixed { - return $this->initializeLazyObject()->setrange(...\func_get_args()); + return $this->initializeLazyObject()->getOption(...\func_get_args()); + } + + public function getTransferredBytes(): array|false + { + return $this->initializeLazyObject()->getTransferredBytes(...\func_get_args()); } - public function getbit(mixed $key, int $pos): Cluster|false|int + public function getWithMeta($key): \Relay\Cluster|array|false + { + return $this->initializeLazyObject()->getWithMeta(...\func_get_args()); + } + + public function getbit($key, $pos): \Relay\Cluster|false|int { return $this->initializeLazyObject()->getbit(...\func_get_args()); } - public function bitcount(mixed $key, int $start = 0, int $end = -1, bool $by_bit = false): Cluster|false|int + public function getdel($key): mixed { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); + return $this->initializeLazyObject()->getdel(...\func_get_args()); } - public function config(array|string $key_or_address, string $operation, mixed ...$args): mixed + public function getex($key, $options = null): mixed { - return $this->initializeLazyObject()->config(...\func_get_args()); + return $this->initializeLazyObject()->getex(...\func_get_args()); } - public function command(mixed ...$args): Cluster|array|false|int + public function getrange($key, $start, $end): \Relay\Cluster|false|string { - return $this->initializeLazyObject()->command(...\func_get_args()); + return $this->initializeLazyObject()->getrange(...\func_get_args()); } - public function bitop(string $operation, string $dstkey, string $srckey, string ...$other_keys): Cluster|false|int + public function getset($key, $value): mixed { - return $this->initializeLazyObject()->bitop(...\func_get_args()); + return $this->initializeLazyObject()->getset(...\func_get_args()); } - public function bitpos(mixed $key, int $bit, ?int $start = null, ?int $end = null, bool $by_bit = false): Cluster|false|int + public function hdel($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); + return $this->initializeLazyObject()->hdel(...\func_get_args()); } - public function blmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos, float $timeout): Cluster|string|false|null + public function hexists($key, $member): \Relay\Cluster|bool { - return $this->initializeLazyObject()->blmove(...\func_get_args()); + return $this->initializeLazyObject()->hexists(...\func_get_args()); } - public function lmove(mixed $srckey, mixed $dstkey, string $srcpos, string $dstpos): Cluster|string|false|null + public function hexpire($hash, $ttl, $fields, $mode = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->lmove(...\func_get_args()); + return $this->initializeLazyObject()->hexpire(...\func_get_args()); } - public function setbit(mixed $key, int $pos, int $value): Cluster|false|int + public function hexpireat($hash, $ttl, $fields, $mode = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->setbit(...\func_get_args()); + return $this->initializeLazyObject()->hexpireat(...\func_get_args()); } - public function acl(array|string $key_or_address, string $operation, string ...$args): mixed + public function hexpiretime($hash, $fields): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->acl(...\func_get_args()); + return $this->initializeLazyObject()->hexpiretime(...\func_get_args()); } - public function append(mixed $key, mixed $value): Cluster|false|int + public function hget($key, $member): mixed { - return $this->initializeLazyObject()->append(...\func_get_args()); + return $this->initializeLazyObject()->hget(...\func_get_args()); } - public function set(mixed $key, mixed $value, mixed $options = null): Cluster|string|bool + public function hgetall($key): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->set(...\func_get_args()); + return $this->initializeLazyObject()->hgetall(...\func_get_args()); } - public function getex(mixed $key, ?array $options = null): mixed + public function hincrby($key, $member, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->getex(...\func_get_args()); + return $this->initializeLazyObject()->hincrby(...\func_get_args()); } - public function setex(mixed $key, int $seconds, mixed $value): Cluster|bool + public function hincrbyfloat($key, $member, $value): \Relay\Cluster|bool|float { - return $this->initializeLazyObject()->setex(...\func_get_args()); + return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); } - public function pfadd(mixed $key, array $elements): Cluster|false|int + public function hkeys($key): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); + return $this->initializeLazyObject()->hkeys(...\func_get_args()); } - public function pfcount(mixed $key): Cluster|int|false + public function hlen($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->pfcount(...\func_get_args()); + return $this->initializeLazyObject()->hlen(...\func_get_args()); } - public function pfmerge(string $dstkey, array $srckeys): Cluster|bool + public function hmget($key, $members): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); + return $this->initializeLazyObject()->hmget(...\func_get_args()); } - public function psetex(mixed $key, int $milliseconds, mixed $value): Cluster|bool + public function hmset($key, $members): \Relay\Cluster|bool { - return $this->initializeLazyObject()->psetex(...\func_get_args()); + return $this->initializeLazyObject()->hmset(...\func_get_args()); } - public function publish(string $channel, string $message): Cluster|false|int + public function hpersist($hash, $fields): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->publish(...\func_get_args()); + return $this->initializeLazyObject()->hpersist(...\func_get_args()); } - public function pubsub(array|string $key_or_address, string $operation, mixed ...$args): mixed + public function hpexpire($hash, $ttl, $fields, $mode = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); + return $this->initializeLazyObject()->hpexpire(...\func_get_args()); } - public function setnx(mixed $key, mixed $value): Cluster|bool + public function hpexpireat($hash, $ttl, $fields, $mode = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->setnx(...\func_get_args()); + return $this->initializeLazyObject()->hpexpireat(...\func_get_args()); } - public function mget(array $keys): Cluster|array|false + public function hpexpiretime($hash, $fields): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->mget(...\func_get_args()); + return $this->initializeLazyObject()->hpexpiretime(...\func_get_args()); } - public function mset(array $kvals): Cluster|array|bool + public function hpttl($hash, $fields): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->mset(...\func_get_args()); + return $this->initializeLazyObject()->hpttl(...\func_get_args()); } - public function msetnx(array $kvals): Cluster|array|bool + public function hrandfield($key, $options = null): \Relay\Cluster|array|false|string { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); + return $this->initializeLazyObject()->hrandfield(...\func_get_args()); } - public function rename(mixed $key, mixed $newkey): Cluster|bool + public function hscan($key, &$iterator, $match = null, $count = 0): array|false { - return $this->initializeLazyObject()->rename(...\func_get_args()); + return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); } - public function renamenx(mixed $key, mixed $newkey): Cluster|bool + public function hset($key, ...$keys_and_vals): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->renamenx(...\func_get_args()); + return $this->initializeLazyObject()->hset(...\func_get_args()); } - public function del(mixed ...$keys): Cluster|bool|int + public function hsetnx($key, $member, $value): \Relay\Cluster|bool { - return $this->initializeLazyObject()->del(...\func_get_args()); + return $this->initializeLazyObject()->hsetnx(...\func_get_args()); } - public function unlink(mixed ...$keys): Cluster|false|int + public function hstrlen($key, $member): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->unlink(...\func_get_args()); + return $this->initializeLazyObject()->hstrlen(...\func_get_args()); } - public function expire(mixed $key, int $seconds, ?string $mode = null): Cluster|bool + public function httl($hash, $fields): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->expire(...\func_get_args()); + return $this->initializeLazyObject()->httl(...\func_get_args()); } - public function pexpire(mixed $key, int $milliseconds): Cluster|bool + public function hvals($key): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); + return $this->initializeLazyObject()->hvals(...\func_get_args()); } - public function expireat(mixed $key, int $timestamp): Cluster|bool + public function idleTime(): int { - return $this->initializeLazyObject()->expireat(...\func_get_args()); + return $this->initializeLazyObject()->idleTime(...\func_get_args()); } - public function expiretime(mixed $key): Cluster|false|int + public function incr($key, $by = 1): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->expiretime(...\func_get_args()); + return $this->initializeLazyObject()->incr(...\func_get_args()); } - public function pexpireat(mixed $key, int $timestamp_ms): Cluster|bool + public function incrby($key, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->pexpireat(...\func_get_args()); + return $this->initializeLazyObject()->incrby(...\func_get_args()); } - public static function flushMemory(?string $endpointId = null, ?int $db = null): bool + public function incrbyfloat($key, $value): \Relay\Cluster|false|float { - return Cluster::flushMemory(...\func_get_args()); + return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); } - public function pexpiretime(mixed $key): Cluster|false|int + public function info($key_or_address, ...$sections): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); + return $this->initializeLazyObject()->info(...\func_get_args()); } - public function persist(mixed $key): Cluster|bool + public function keys($pattern): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->persist(...\func_get_args()); + return $this->initializeLazyObject()->keys(...\func_get_args()); } - public function type(mixed $key): Cluster|bool|int|string + public function lastsave($key_or_address): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->type(...\func_get_args()); + return $this->initializeLazyObject()->lastsave(...\func_get_args()); } - public function lrange(mixed $key, int $start, int $stop): Cluster|array|false + public function lcs($key1, $key2, $options = null): mixed { - return $this->initializeLazyObject()->lrange(...\func_get_args()); + return $this->initializeLazyObject()->lcs(...\func_get_args()); } - public function lpush(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function lindex($key, $index): mixed { - return $this->initializeLazyObject()->lpush(...\func_get_args()); + return $this->initializeLazyObject()->lindex(...\func_get_args()); } - public function rpush(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function linsert($key, $op, $pivot, $element): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->rpush(...\func_get_args()); + return $this->initializeLazyObject()->linsert(...\func_get_args()); } - public function lpushx(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function listen($callback): bool { - return $this->initializeLazyObject()->lpushx(...\func_get_args()); + return $this->initializeLazyObject()->listen(...\func_get_args()); } - public function rpushx(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function llen($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->rpushx(...\func_get_args()); + return $this->initializeLazyObject()->llen(...\func_get_args()); } - public function lset(mixed $key, int $index, mixed $member): Cluster|bool + public function lmove($srckey, $dstkey, $srcpos, $dstpos): \Relay\Cluster|false|string|null { - return $this->initializeLazyObject()->lset(...\func_get_args()); + return $this->initializeLazyObject()->lmove(...\func_get_args()); } - public function lpop(mixed $key, int $count = 1): mixed + public function lmpop($keys, $from, $count = 1): mixed { - return $this->initializeLazyObject()->lpop(...\func_get_args()); + return $this->initializeLazyObject()->lmpop(...\func_get_args()); } - public function lpos(mixed $key, mixed $value, ?array $options = null): mixed + public function lpop($key, $count = 1): mixed { - return $this->initializeLazyObject()->lpos(...\func_get_args()); + return $this->initializeLazyObject()->lpop(...\func_get_args()); } - public function rpop(mixed $key, int $count = 1): mixed + public function lpos($key, $value, $options = null): mixed { - return $this->initializeLazyObject()->rpop(...\func_get_args()); + return $this->initializeLazyObject()->lpos(...\func_get_args()); } - public function rpoplpush(mixed $srckey, mixed $dstkey): mixed + public function lpush($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); + return $this->initializeLazyObject()->lpush(...\func_get_args()); } - public function brpoplpush(mixed $srckey, mixed $dstkey, float $timeout): mixed + public function lpushx($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); + return $this->initializeLazyObject()->lpushx(...\func_get_args()); } - public function blpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args): Cluster|array|false|null + public function lrange($key, $start, $stop): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->blpop(...\func_get_args()); + return $this->initializeLazyObject()->lrange(...\func_get_args()); } - public function blmpop(float $timeout, array $keys, string $from, int $count = 1): mixed + public function lrem($key, $member, $count = 0): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->blmpop(...\func_get_args()); + return $this->initializeLazyObject()->lrem(...\func_get_args()); } - public function bzmpop(float $timeout, array $keys, string $from, int $count = 1): Cluster|array|false|null + public function lset($key, $index, $member): \Relay\Cluster|bool { - return $this->initializeLazyObject()->bzmpop(...\func_get_args()); + return $this->initializeLazyObject()->lset(...\func_get_args()); } - public function lmpop(array $keys, string $from, int $count = 1): mixed + public function ltrim($key, $start, $end): \Relay\Cluster|bool { - return $this->initializeLazyObject()->lmpop(...\func_get_args()); + return $this->initializeLazyObject()->ltrim(...\func_get_args()); } - public function zmpop(array $keys, string $from, int $count = 1): Cluster|array|false|null + public function mget($keys): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zmpop(...\func_get_args()); + return $this->initializeLazyObject()->mget(...\func_get_args()); } - public function brpop(string|array $key, string|float $timeout_or_key, mixed ...$extra_args): Cluster|array|false|null + public function mset($kvals): \Relay\Cluster|array|bool { - return $this->initializeLazyObject()->brpop(...\func_get_args()); + return $this->initializeLazyObject()->mset(...\func_get_args()); } - public function bzpopmax(string|array $key, string|float $timeout_or_key, mixed ...$extra_args): Cluster|array|false|null + public function msetnx($kvals): \Relay\Cluster|array|bool { - return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); + return $this->initializeLazyObject()->msetnx(...\func_get_args()); } - public function bzpopmin(string|array $key, string|float $timeout_or_key, mixed ...$extra_args): Cluster|array|false|null + public function multi($mode = \Relay\Relay::MULTI): \Relay\Cluster|bool { - return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); + return $this->initializeLazyObject()->multi(...\func_get_args()); } - public function object(string $op, mixed $key): mixed + public function object($op, $key): mixed { return $this->initializeLazyObject()->object(...\func_get_args()); } - public function geopos(mixed $key, mixed ...$members): Cluster|array|false + public function onFlushed($callback): bool { - return $this->initializeLazyObject()->geopos(...\func_get_args()); + return $this->initializeLazyObject()->onFlushed(...\func_get_args()); } - public function lrem(mixed $key, mixed $member, int $count = 0): Cluster|false|int + public function onInvalidated($callback, $pattern = null): bool { - return $this->initializeLazyObject()->lrem(...\func_get_args()); + return $this->initializeLazyObject()->onInvalidated(...\func_get_args()); } - public function lindex(mixed $key, int $index): mixed + public function persist($key): \Relay\Cluster|bool { - return $this->initializeLazyObject()->lindex(...\func_get_args()); + return $this->initializeLazyObject()->persist(...\func_get_args()); } - public function linsert(mixed $key, string $op, mixed $pivot, mixed $element): Cluster|false|int + public function pexpire($key, $milliseconds): \Relay\Cluster|bool { - return $this->initializeLazyObject()->linsert(...\func_get_args()); + return $this->initializeLazyObject()->pexpire(...\func_get_args()); } - public function ltrim(mixed $key, int $start, int $end): Cluster|bool + public function pexpireat($key, $timestamp_ms): \Relay\Cluster|bool { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); + return $this->initializeLazyObject()->pexpireat(...\func_get_args()); } - public static function maxMemory(): int + public function pexpiretime($key): \Relay\Cluster|false|int { - return Cluster::maxMemory(); + return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); } - public function hget(mixed $key, mixed $member): mixed + public function pfadd($key, $elements): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->hget(...\func_get_args()); + return $this->initializeLazyObject()->pfadd(...\func_get_args()); } - public function hstrlen(mixed $key, mixed $member): Cluster|false|int + public function pfcount($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->hstrlen(...\func_get_args()); + return $this->initializeLazyObject()->pfcount(...\func_get_args()); } - public function hgetall(mixed $key): Cluster|array|false + public function pfmerge($dstkey, $srckeys): \Relay\Cluster|bool { - return $this->initializeLazyObject()->hgetall(...\func_get_args()); + return $this->initializeLazyObject()->pfmerge(...\func_get_args()); } - public function hkeys(mixed $key): Cluster|array|false + public function ping($key_or_address, $message = null): \Relay\Cluster|bool|string { - return $this->initializeLazyObject()->hkeys(...\func_get_args()); + return $this->initializeLazyObject()->ping(...\func_get_args()); } - public function hvals(mixed $key): Cluster|array|false + public function psetex($key, $milliseconds, $value): \Relay\Cluster|bool { - return $this->initializeLazyObject()->hvals(...\func_get_args()); + return $this->initializeLazyObject()->psetex(...\func_get_args()); } - public function hmget(mixed $key, array $members): Cluster|array|false + public function psubscribe($patterns, $callback): bool { - return $this->initializeLazyObject()->hmget(...\func_get_args()); + return $this->initializeLazyObject()->psubscribe(...\func_get_args()); } - public function hmset(mixed $key, array $members): Cluster|bool + public function pttl($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->hmset(...\func_get_args()); + return $this->initializeLazyObject()->pttl(...\func_get_args()); } - public function hexists(mixed $key, mixed $member): Cluster|bool + public function publish($channel, $message): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->hexists(...\func_get_args()); + return $this->initializeLazyObject()->publish(...\func_get_args()); } - public function hrandfield(mixed $key, ?array $options = null): Cluster|array|string|false + public function pubsub($key_or_address, $operation, ...$args): mixed { - return $this->initializeLazyObject()->hrandfield(...\func_get_args()); + return $this->initializeLazyObject()->pubsub(...\func_get_args()); } - public function hsetnx(mixed $key, mixed $member, mixed $value): Cluster|bool + public function punsubscribe($patterns = []): bool { - return $this->initializeLazyObject()->hsetnx(...\func_get_args()); + return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); } - public function hset(mixed $key, mixed ...$keys_and_vals): Cluster|int|false + public function randomkey($key_or_address): \Relay\Cluster|bool|string { - return $this->initializeLazyObject()->hset(...\func_get_args()); + return $this->initializeLazyObject()->randomkey(...\func_get_args()); } - public function hdel(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function rawCommand($key_or_address, $cmd, ...$args): mixed { - return $this->initializeLazyObject()->hdel(...\func_get_args()); + return $this->initializeLazyObject()->rawCommand(...\func_get_args()); } - public function hincrby(mixed $key, mixed $member, int $value): Cluster|false|int + public function rename($key, $newkey): \Relay\Cluster|bool { - return $this->initializeLazyObject()->hincrby(...\func_get_args()); + return $this->initializeLazyObject()->rename(...\func_get_args()); } - public function hincrbyfloat(mixed $key, mixed $member, float $value): Cluster|bool|float + public function renamenx($key, $newkey): \Relay\Cluster|bool { - return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); + return $this->initializeLazyObject()->renamenx(...\func_get_args()); } - public function incr(mixed $key, int $by = 1): Cluster|false|int + public function restore($key, $ttl, $value, $options = null): \Relay\Cluster|bool { - return $this->initializeLazyObject()->incr(...\func_get_args()); + return $this->initializeLazyObject()->restore(...\func_get_args()); } - public function decr(mixed $key, int $by = 1): Cluster|false|int + public function role($key_or_address): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->decr(...\func_get_args()); + return $this->initializeLazyObject()->role(...\func_get_args()); } - public function incrby(mixed $key, int $value): Cluster|false|int + public function rpop($key, $count = 1): mixed { - return $this->initializeLazyObject()->incrby(...\func_get_args()); + return $this->initializeLazyObject()->rpop(...\func_get_args()); } - public function decrby(mixed $key, int $value): Cluster|false|int + public function rpoplpush($srckey, $dstkey): mixed { - return $this->initializeLazyObject()->decrby(...\func_get_args()); + return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); } - public function incrbyfloat(mixed $key, float $value): Cluster|false|float + public function rpush($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); + return $this->initializeLazyObject()->rpush(...\func_get_args()); } - public function sdiff(mixed $key, mixed ...$other_keys): Cluster|array|false + public function rpushx($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->sdiff(...\func_get_args()); + return $this->initializeLazyObject()->rpushx(...\func_get_args()); } - public function sdiffstore(mixed $key, mixed ...$other_keys): Cluster|false|int + public function sadd($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); + return $this->initializeLazyObject()->sadd(...\func_get_args()); } - public function sinter(mixed $key, mixed ...$other_keys): Cluster|array|false + public function save($key_or_address): \Relay\Cluster|bool { - return $this->initializeLazyObject()->sinter(...\func_get_args()); + return $this->initializeLazyObject()->save(...\func_get_args()); } - public function sintercard(array $keys, int $limit = -1): Cluster|false|int + public function scan(&$iterator, $key_or_address, $match = null, $count = 0, $type = null): array|false { - return $this->initializeLazyObject()->sintercard(...\func_get_args()); + return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); } - public function sinterstore(mixed $key, mixed ...$other_keys): Cluster|false|int + public function scard($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->sinterstore(...\func_get_args()); + return $this->initializeLazyObject()->scard(...\func_get_args()); } - public function sunion(mixed $key, mixed ...$other_keys): Cluster|array|false + public function script($key_or_address, $operation, ...$args): mixed { - return $this->initializeLazyObject()->sunion(...\func_get_args()); + return $this->initializeLazyObject()->script(...\func_get_args()); } - public function sunionstore(mixed $key, mixed ...$other_keys): Cluster|false|int + public function sdiff($key, ...$other_keys): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->sunionstore(...\func_get_args()); + return $this->initializeLazyObject()->sdiff(...\func_get_args()); } - public function subscribe(array $channels, callable $callback): bool + public function sdiffstore($key, ...$other_keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->subscribe(...\func_get_args()); + return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); } - public function unsubscribe(array $channels = []): bool + public function set($key, $value, $options = null): \Relay\Cluster|bool|string { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); + return $this->initializeLazyObject()->set(...\func_get_args()); } - public function psubscribe(array $patterns, callable $callback): bool + public function setOption($option, $value): bool { - return $this->initializeLazyObject()->psubscribe(...\func_get_args()); + return $this->initializeLazyObject()->setOption(...\func_get_args()); } - public function punsubscribe(array $patterns = []): bool + public function setbit($key, $pos, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); + return $this->initializeLazyObject()->setbit(...\func_get_args()); } - public function ssubscribe(array $channels, callable $callback): bool + public function setex($key, $seconds, $value): \Relay\Cluster|bool { - return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); + return $this->initializeLazyObject()->setex(...\func_get_args()); } - public function sunsubscribe(array $channels = []): bool + public function setnx($key, $value): \Relay\Cluster|bool { - return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); + return $this->initializeLazyObject()->setnx(...\func_get_args()); } - public function touch(array|string $key_or_array, mixed ...$more_keys): Cluster|false|int + public function setrange($key, $start, $value): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->touch(...\func_get_args()); + return $this->initializeLazyObject()->setrange(...\func_get_args()); } - public function multi(int $mode = Relay::MULTI): Cluster|bool + public function sinter($key, ...$other_keys): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->multi(...\func_get_args()); + return $this->initializeLazyObject()->sinter(...\func_get_args()); } - public function exec(): array|false + public function sintercard($keys, $limit = -1): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->exec(...\func_get_args()); + return $this->initializeLazyObject()->sintercard(...\func_get_args()); } - public function watch(mixed $key, mixed ...$other_keys): Cluster|bool + public function sinterstore($key, ...$other_keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->watch(...\func_get_args()); + return $this->initializeLazyObject()->sinterstore(...\func_get_args()); } - public function unwatch(): Cluster|bool + public function sismember($key, $member): \Relay\Cluster|bool { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); + return $this->initializeLazyObject()->sismember(...\func_get_args()); } - public function discard(): bool + public function slowlog($key_or_address, $operation, ...$args): \Relay\Cluster|array|bool|int { - return $this->initializeLazyObject()->discard(...\func_get_args()); + return $this->initializeLazyObject()->slowlog(...\func_get_args()); } - public function getMode(bool $masked = false): int + public function smembers($key): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->getMode(...\func_get_args()); + return $this->initializeLazyObject()->smembers(...\func_get_args()); } - public function scan(mixed &$iterator, array|string $key_or_address, mixed $match = null, int $count = 0, ?string $type = null): array|false + public function smismember($key, ...$members): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); + return $this->initializeLazyObject()->smismember(...\func_get_args()); } - public function hscan(mixed $key, mixed &$iterator, mixed $match = null, int $count = 0): array|false + public function smove($srckey, $dstkey, $member): \Relay\Cluster|bool { - return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + return $this->initializeLazyObject()->smove(...\func_get_args()); } - public function sscan(mixed $key, mixed &$iterator, mixed $match = null, int $count = 0): array|false + public function sort($key, $options = []): \Relay\Cluster|array|false|int { - return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + return $this->initializeLazyObject()->sort(...\func_get_args()); } - public function zscan(mixed $key, mixed &$iterator, mixed $match = null, int $count = 0): array|false + public function sort_ro($key, $options = []): \Relay\Cluster|array|false|int { - return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + return $this->initializeLazyObject()->sort_ro(...\func_get_args()); } - public function zscore(mixed $key, mixed $member): Cluster|float|false + public function spop($key, $count = 1): mixed { - return $this->initializeLazyObject()->zscore(...\func_get_args()); + return $this->initializeLazyObject()->spop(...\func_get_args()); } - public function keys(mixed $pattern): Cluster|array|false + public function srandmember($key, $count = 1): mixed { - return $this->initializeLazyObject()->keys(...\func_get_args()); + return $this->initializeLazyObject()->srandmember(...\func_get_args()); } - public function slowlog(array|string $key_or_address, string $operation, mixed ...$args): Cluster|array|bool|int + public function srem($key, $member, ...$members): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); + return $this->initializeLazyObject()->srem(...\func_get_args()); } - public function xadd(mixed $key, string $id, array $values, int $maxlen = 0, bool $approx = false, bool $nomkstream = false): Cluster|string|false + public function sscan($key, &$iterator, $match = null, $count = 0): array|false { - return $this->initializeLazyObject()->xadd(...\func_get_args()); + return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); } - public function smembers(mixed $key): Cluster|array|false + public function ssubscribe($channels, $callback): bool { - return $this->initializeLazyObject()->smembers(...\func_get_args()); + return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); } - public function sismember(mixed $key, mixed $member): Cluster|bool + public function strlen($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->sismember(...\func_get_args()); + return $this->initializeLazyObject()->strlen(...\func_get_args()); } - public function smismember(mixed $key, mixed ...$members): Cluster|array|false + public function subscribe($channels, $callback): bool { - return $this->initializeLazyObject()->smismember(...\func_get_args()); + return $this->initializeLazyObject()->subscribe(...\func_get_args()); } - public function srem(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function sunion($key, ...$other_keys): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->srem(...\func_get_args()); + return $this->initializeLazyObject()->sunion(...\func_get_args()); } - public function sadd(mixed $key, mixed $member, mixed ...$members): Cluster|false|int + public function sunionstore($key, ...$other_keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->sadd(...\func_get_args()); + return $this->initializeLazyObject()->sunionstore(...\func_get_args()); } - public function sort(mixed $key, array $options = []): Cluster|array|false|int + public function sunsubscribe($channels = []): bool { - return $this->initializeLazyObject()->sort(...\func_get_args()); + return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); } - public function sort_ro(mixed $key, array $options = []): Cluster|array|false|int + public function time($key_or_address): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->sort_ro(...\func_get_args()); + return $this->initializeLazyObject()->time(...\func_get_args()); } - public function smove(mixed $srckey, mixed $dstkey, mixed $member): Cluster|bool + public function touch($key_or_array, ...$more_keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->smove(...\func_get_args()); + return $this->initializeLazyObject()->touch(...\func_get_args()); } - public function spop(mixed $key, int $count = 1): mixed + public function ttl($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->spop(...\func_get_args()); + return $this->initializeLazyObject()->ttl(...\func_get_args()); } - public function srandmember(mixed $key, int $count = 1): mixed + public function type($key): \Relay\Cluster|bool|int|string { - return $this->initializeLazyObject()->srandmember(...\func_get_args()); + return $this->initializeLazyObject()->type(...\func_get_args()); } - public function scard(mixed $key): Cluster|false|int + public function unlink(...$keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->scard(...\func_get_args()); + return $this->initializeLazyObject()->unlink(...\func_get_args()); } - public function script(array|string $key_or_address, string $operation, string ...$args): mixed + public function unsubscribe($channels = []): bool { - return $this->initializeLazyObject()->script(...\func_get_args()); + return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); } - public function strlen(mixed $key): Cluster|false|int + public function unwatch(): \Relay\Cluster|bool { - return $this->initializeLazyObject()->strlen(...\func_get_args()); + return $this->initializeLazyObject()->unwatch(...\func_get_args()); } - public function hlen(mixed $key): Cluster|false|int + public function waitaof($key_or_address, $numlocal, $numremote, $timeout): \Relay\Relay|array|false { - return $this->initializeLazyObject()->hlen(...\func_get_args()); + return $this->initializeLazyObject()->waitaof(...\func_get_args()); } - public function llen(mixed $key): Cluster|false|int + public function watch($key, ...$other_keys): \Relay\Cluster|bool { - return $this->initializeLazyObject()->llen(...\func_get_args()); + return $this->initializeLazyObject()->watch(...\func_get_args()); } - public function xack(mixed $key, string $group, array $ids): Cluster|false|int + public function xack($key, $group, $ids): \Relay\Cluster|false|int { return $this->initializeLazyObject()->xack(...\func_get_args()); } - public function xclaim(mixed $key, string $group, string $consumer, int $min_idle, array $ids, array $options): Cluster|array|bool + public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Cluster|false|string { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); + return $this->initializeLazyObject()->xadd(...\func_get_args()); } - public function xautoclaim(mixed $key, string $group, string $consumer, int $min_idle, string $start, int $count = -1, bool $justid = false): Cluster|array|bool + public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \Relay\Cluster|array|bool { return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); } - public function xlen(mixed $key): Cluster|false|int + public function xclaim($key, $group, $consumer, $min_idle, $ids, $options): \Relay\Cluster|array|bool { - return $this->initializeLazyObject()->xlen(...\func_get_args()); + return $this->initializeLazyObject()->xclaim(...\func_get_args()); } - public function xgroup(string $operation, mixed $key = null, ?string $group = null, ?string $id_or_consumer = null, bool $mkstream = false, int $entries_read = -2): mixed + public function xdel($key, $ids): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); + return $this->initializeLazyObject()->xdel(...\func_get_args()); } - public function xdel(mixed $key, array $ids): Cluster|false|int + public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed { - return $this->initializeLazyObject()->xdel(...\func_get_args()); + return $this->initializeLazyObject()->xgroup(...\func_get_args()); } - public function xinfo(string $operation, ?string $arg1 = null, ?string $arg2 = null, int $count = -1): mixed + public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed { return $this->initializeLazyObject()->xinfo(...\func_get_args()); } - public function xpending(mixed $key, string $group, ?string $start = null, ?string $end = null, int $count = -1, ?string $consumer = null, int $idle = 0): Cluster|array|false + public function xlen($key): \Relay\Cluster|false|int + { + return $this->initializeLazyObject()->xlen(...\func_get_args()); + } + + public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null, $idle = 0): \Relay\Cluster|array|false { return $this->initializeLazyObject()->xpending(...\func_get_args()); } - public function xrange(mixed $key, string $start, string $end, int $count = -1): Cluster|array|false + public function xrange($key, $start, $end, $count = -1): \Relay\Cluster|array|false { return $this->initializeLazyObject()->xrange(...\func_get_args()); } - public function xread(array $streams, int $count = -1, int $block = -1): Cluster|array|bool|null + public function xread($streams, $count = -1, $block = -1): \Relay\Cluster|array|bool|null { return $this->initializeLazyObject()->xread(...\func_get_args()); } - public function xreadgroup(mixed $key, string $consumer, array $streams, int $count = 1, int $block = 1): Cluster|array|bool|null + public function xreadgroup($key, $consumer, $streams, $count = 1, $block = 1): \Relay\Cluster|array|bool|null { return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); } - public function xrevrange(mixed $key, string $end, string $start, int $count = -1): Cluster|array|bool + public function xrevrange($key, $end, $start, $count = -1): \Relay\Cluster|array|bool { return $this->initializeLazyObject()->xrevrange(...\func_get_args()); } - public function xtrim(mixed $key, string $threshold, bool $approx = false, bool $minid = false, int $limit = -1): Cluster|false|int + public function xtrim($key, $threshold, $approx = false, $minid = false, $limit = -1): \Relay\Cluster|false|int { return $this->initializeLazyObject()->xtrim(...\func_get_args()); } - public function zadd(mixed $key, mixed ...$args): mixed + public function zadd($key, ...$args): mixed { return $this->initializeLazyObject()->zadd(...\func_get_args()); } - public function zrandmember(mixed $key, ?array $options = null): mixed + public function zcard($key): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrandmember(...\func_get_args()); + return $this->initializeLazyObject()->zcard(...\func_get_args()); } - public function zrange(mixed $key, string $start, string $end, mixed $options = null): Cluster|array|false + public function zcount($key, $min, $max): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrange(...\func_get_args()); + return $this->initializeLazyObject()->zcount(...\func_get_args()); } - public function zrevrange(mixed $key, int $start, int $end, mixed $options = null): Cluster|array|false + public function zdiff($keys, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zrevrange(...\func_get_args()); + return $this->initializeLazyObject()->zdiff(...\func_get_args()); } - public function zrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null): Cluster|array|false + public function zdiffstore($dstkey, $keys): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); } - public function zrevrangebyscore(mixed $key, mixed $start, mixed $end, mixed $options = null): Cluster|array|false + public function zincrby($key, $score, $member): \Relay\Cluster|false|float { - return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zincrby(...\func_get_args()); } - public function zrevrank(mixed $key, mixed $rank, bool $withscore = false): Cluster|array|int|false + public function zinter($keys, $weights = null, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zrevrank(...\func_get_args()); + return $this->initializeLazyObject()->zinter(...\func_get_args()); } - public function zrangestore(mixed $dstkey, mixed $srckey, mixed $start, mixed $end, mixed $options = null): Cluster|false|int + public function zintercard($keys, $limit = -1): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrangestore(...\func_get_args()); + return $this->initializeLazyObject()->zintercard(...\func_get_args()); } - public function zrank(mixed $key, mixed $rank, bool $withscore = false): Cluster|array|int|false + public function zinterstore($dstkey, $keys, $weights = null, $options = null): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrank(...\func_get_args()); + return $this->initializeLazyObject()->zinterstore(...\func_get_args()); } - public function zrangebylex(mixed $key, mixed $min, mixed $max, int $offset = -1, int $count = -1): Cluster|array|false + public function zlexcount($key, $min, $max): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zlexcount(...\func_get_args()); } - public function zrevrangebylex(mixed $key, mixed $max, mixed $min, int $offset = -1, int $count = -1): Cluster|array|false + public function zmpop($keys, $from, $count = 1): \Relay\Cluster|array|false|null { - return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zmpop(...\func_get_args()); } - public function zrem(mixed $key, mixed ...$args): Cluster|false|int + public function zmscore($key, ...$members): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zrem(...\func_get_args()); + return $this->initializeLazyObject()->zmscore(...\func_get_args()); } - public function zremrangebylex(mixed $key, mixed $min, mixed $max): Cluster|false|int + public function zpopmax($key, $count = 1): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zpopmax(...\func_get_args()); } - public function zremrangebyrank(mixed $key, int $start, int $end): Cluster|false|int + public function zpopmin($key, $count = 1): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); + return $this->initializeLazyObject()->zpopmin(...\func_get_args()); } - public function zremrangebyscore(mixed $key, mixed $min, mixed $max): Cluster|false|int + public function zrandmember($key, $options = null): mixed { - return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zrandmember(...\func_get_args()); } - public function zcard(mixed $key): Cluster|false|int + public function zrange($key, $start, $end, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zcard(...\func_get_args()); + return $this->initializeLazyObject()->zrange(...\func_get_args()); } - public function zcount(mixed $key, mixed $min, mixed $max): Cluster|false|int + public function zrangebylex($key, $min, $max, $offset = -1, $count = -1): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zcount(...\func_get_args()); + return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); } - public function zdiff(array $keys, ?array $options = null): Cluster|array|false + public function zrangebyscore($key, $start, $end, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zdiff(...\func_get_args()); + return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); } - public function zdiffstore(mixed $dstkey, array $keys): Cluster|false|int + public function zrangestore($dstkey, $srckey, $start, $end, $options = null): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); + return $this->initializeLazyObject()->zrangestore(...\func_get_args()); } - public function zincrby(mixed $key, float $score, mixed $member): Cluster|false|float + public function zrank($key, $rank, $withscore = false): \Relay\Cluster|array|false|int { - return $this->initializeLazyObject()->zincrby(...\func_get_args()); + return $this->initializeLazyObject()->zrank(...\func_get_args()); } - public function zlexcount(mixed $key, mixed $min, mixed $max): Cluster|false|int + public function zrem($key, ...$args): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zlexcount(...\func_get_args()); + return $this->initializeLazyObject()->zrem(...\func_get_args()); } - public function zmscore(mixed $key, mixed ...$members): Cluster|array|false + public function zremrangebylex($key, $min, $max): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zmscore(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); } - public function zinter(array $keys, ?array $weights = null, mixed $options = null): Cluster|array|false + public function zremrangebyrank($key, $start, $end): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zinter(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); } - public function zintercard(array $keys, int $limit = -1): Cluster|false|int + public function zremrangebyscore($key, $min, $max): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->zintercard(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); } - public function zinterstore(mixed $dstkey, array $keys, ?array $weights = null, mixed $options = null): Cluster|false|int + public function zrevrange($key, $start, $end, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); + return $this->initializeLazyObject()->zrevrange(...\func_get_args()); } - public function zunion(array $keys, ?array $weights = null, mixed $options = null): Cluster|array|false + public function zrevrangebylex($key, $max, $min, $offset = -1, $count = -1): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zunion(...\func_get_args()); + return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); } - public function zunionstore(mixed $dstkey, array $keys, ?array $weights = null, mixed $options = null): Cluster|false|int + public function zrevrangebyscore($key, $start, $end, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); + return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); } - public function zpopmin(mixed $key, int $count = 1): Cluster|array|false + public function zrevrank($key, $rank, $withscore = false): \Relay\Cluster|array|false|int { - return $this->initializeLazyObject()->zpopmin(...\func_get_args()); + return $this->initializeLazyObject()->zrevrank(...\func_get_args()); } - public function zpopmax(mixed $key, int $count = 1): Cluster|array|false + public function zscan($key, &$iterator, $match = null, $count = 0): array|false { - return $this->initializeLazyObject()->zpopmax(...\func_get_args()); + return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); } - public function _getKeys(): array|false + public function zscore($key, $member): \Relay\Cluster|false|float { - return $this->initializeLazyObject()->_getKeys(...\func_get_args()); + return $this->initializeLazyObject()->zscore(...\func_get_args()); } - public function _masters(): array + public function zunion($keys, $weights = null, $options = null): \Relay\Cluster|array|false { - return $this->initializeLazyObject()->_masters(...\func_get_args()); + return $this->initializeLazyObject()->zunion(...\func_get_args()); } - public function copy(mixed $srckey, mixed $dstkey, ?array $options = null): Cluster|bool + public function zunionstore($dstkey, $keys, $weights = null, $options = null): \Relay\Cluster|false|int { - return $this->initializeLazyObject()->copy(...\func_get_args()); + return $this->initializeLazyObject()->zunionstore(...\func_get_args()); } } diff --git a/Traits/RelayProxy.php b/Traits/RelayProxy.php index b6d48dd..2e29362 100644 --- a/Traits/RelayProxy.php +++ b/Traits/RelayProxy.php @@ -11,14 +11,6 @@ namespace Symfony\Component\Cache\Traits; -use Symfony\Component\Cache\Traits\Relay\BgsaveTrait; -use Symfony\Component\Cache\Traits\Relay\CopyTrait; -use Symfony\Component\Cache\Traits\Relay\GeosearchTrait; -use Symfony\Component\Cache\Traits\Relay\GetrangeTrait; -use Symfony\Component\Cache\Traits\Relay\HsetTrait; -use Symfony\Component\Cache\Traits\Relay\MoveTrait; -use Symfony\Component\Cache\Traits\Relay\NullableReturnTrait; -use Symfony\Component\Cache\Traits\Relay\PfcountTrait; use Symfony\Component\VarExporter\LazyObjectInterface; use Symfony\Contracts\Service\ResetInterface; @@ -32,272 +24,263 @@ class_exists(\Symfony\Component\VarExporter\Internal\LazyObjectState::class); */ class RelayProxy extends \Relay\Relay implements ResetInterface, LazyObjectInterface { - use BgsaveTrait; - use CopyTrait; - use GeosearchTrait; - use GetrangeTrait; - use HsetTrait; - use MoveTrait; - use NullableReturnTrait; - use PfcountTrait; use RedisProxyTrait { resetLazyObject as reset; } - use RelayProxyTrait; public function __construct($host = null, $port = 6379, $connect_timeout = 0.0, $command_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0) { $this->initializeLazyObject()->__construct(...\func_get_args()); } - public function connect($host, $port = 6379, $timeout = 0.0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0): bool + public function _compress($value): string { - return $this->initializeLazyObject()->connect(...\func_get_args()); + return $this->initializeLazyObject()->_compress(...\func_get_args()); } - public function pconnect($host, $port = 6379, $timeout = 0.0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0): bool + public function _getKeys() { - return $this->initializeLazyObject()->pconnect(...\func_get_args()); + return $this->initializeLazyObject()->_getKeys(...\func_get_args()); } - public function close(): bool + public function _pack($value): string { - return $this->initializeLazyObject()->close(...\func_get_args()); + return $this->initializeLazyObject()->_pack(...\func_get_args()); } - public function pclose(): bool + public function _prefix($value): string { - return $this->initializeLazyObject()->pclose(...\func_get_args()); + return $this->initializeLazyObject()->_prefix(...\func_get_args()); } - public function listen($callback): bool + public function _serialize($value): mixed { - return $this->initializeLazyObject()->listen(...\func_get_args()); + return $this->initializeLazyObject()->_serialize(...\func_get_args()); } - public function onFlushed($callback): bool + public function _uncompress($value): string { - return $this->initializeLazyObject()->onFlushed(...\func_get_args()); + return $this->initializeLazyObject()->_uncompress(...\func_get_args()); } - public function onInvalidated($callback, $pattern = null): bool + public function _unpack($value): mixed { - return $this->initializeLazyObject()->onInvalidated(...\func_get_args()); + return $this->initializeLazyObject()->_unpack(...\func_get_args()); } - public function dispatchEvents(): false|int + public function _unserialize($value): mixed { - return $this->initializeLazyObject()->dispatchEvents(...\func_get_args()); + return $this->initializeLazyObject()->_unserialize(...\func_get_args()); } - public function getOption($option): mixed + public function acl($cmd, ...$args): mixed { - return $this->initializeLazyObject()->getOption(...\func_get_args()); + return $this->initializeLazyObject()->acl(...\func_get_args()); } - public function option($option, $value = null): mixed + public function addAllowPatterns(...$pattern): int { - return $this->initializeLazyObject()->option(...\func_get_args()); + return $this->initializeLazyObject()->addAllowPatterns(...\func_get_args()); } - public function setOption($option, $value): bool + public function addIgnorePatterns(...$pattern): int { - return $this->initializeLazyObject()->setOption(...\func_get_args()); + return $this->initializeLazyObject()->addIgnorePatterns(...\func_get_args()); } - public function addIgnorePatterns(...$pattern): int + public function append($key, $value): \Relay\Relay|false|int { - return $this->initializeLazyObject()->addIgnorePatterns(...\func_get_args()); + return $this->initializeLazyObject()->append(...\func_get_args()); } - public function addAllowPatterns(...$pattern): int + public function auth(#[\SensitiveParameter] $auth): bool { - return $this->initializeLazyObject()->addAllowPatterns(...\func_get_args()); + return $this->initializeLazyObject()->auth(...\func_get_args()); } - public function getTimeout(): false|float + public function bgrewriteaof(): \Relay\Relay|bool { - return $this->initializeLazyObject()->getTimeout(...\func_get_args()); + return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); } - public function timeout(): false|float + public function bgsave($arg = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->timeout(...\func_get_args()); + return $this->initializeLazyObject()->bgsave(...\func_get_args()); } - public function getReadTimeout(): false|float + public function bitcount($key, $start = 0, $end = -1, $by_bit = false): \Relay\Relay|false|int { - return $this->initializeLazyObject()->getReadTimeout(...\func_get_args()); + return $this->initializeLazyObject()->bitcount(...\func_get_args()); } - public function readTimeout(): false|float + public function bitfield($key, ...$args): \Relay\Relay|array|false { - return $this->initializeLazyObject()->readTimeout(...\func_get_args()); + return $this->initializeLazyObject()->bitfield(...\func_get_args()); } - public function getBytes(): array + public function bitop($operation, $dstkey, $srckey, ...$other_keys): \Relay\Relay|false|int { - return $this->initializeLazyObject()->getBytes(...\func_get_args()); + return $this->initializeLazyObject()->bitop(...\func_get_args()); } - public function bytes(): array + public function bitpos($key, $bit, $start = null, $end = null, $bybit = false): \Relay\Relay|false|int { - return $this->initializeLazyObject()->bytes(...\func_get_args()); + return $this->initializeLazyObject()->bitpos(...\func_get_args()); } - public function getHost(): false|string + public function blmove($srckey, $dstkey, $srcpos, $dstpos, $timeout): mixed { - return $this->initializeLazyObject()->getHost(...\func_get_args()); + return $this->initializeLazyObject()->blmove(...\func_get_args()); } - public function isConnected(): bool + public function blmpop($timeout, $keys, $from, $count = 1): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->isConnected(...\func_get_args()); + return $this->initializeLazyObject()->blmpop(...\func_get_args()); } - public function getPort(): false|int + public function blpop($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->getPort(...\func_get_args()); + return $this->initializeLazyObject()->blpop(...\func_get_args()); } - public function getAuth(): mixed + public function brpop($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->getAuth(...\func_get_args()); + return $this->initializeLazyObject()->brpop(...\func_get_args()); } - public function getDbNum(): mixed + public function brpoplpush($source, $dest, $timeout): mixed { - return $this->initializeLazyObject()->getDbNum(...\func_get_args()); + return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); } - public function _serialize($value): mixed + public function bytes(): array { - return $this->initializeLazyObject()->_serialize(...\func_get_args()); + return $this->initializeLazyObject()->bytes(...\func_get_args()); } - public function _unserialize($value): mixed + public function bzmpop($timeout, $keys, $from, $count = 1): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->_unserialize(...\func_get_args()); + return $this->initializeLazyObject()->bzmpop(...\func_get_args()); } - public function _compress($value): string + public function bzpopmax($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->_compress(...\func_get_args()); + return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); } - public function _uncompress($value): string + public function bzpopmin($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->_uncompress(...\func_get_args()); + return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); } - public function _pack($value): string + public function clearBytes(): void { - return $this->initializeLazyObject()->_pack(...\func_get_args()); + $this->initializeLazyObject()->clearBytes(...\func_get_args()); } - public function _unpack($value): mixed + public function clearLastError(): bool { - return $this->initializeLazyObject()->_unpack(...\func_get_args()); + return $this->initializeLazyObject()->clearLastError(...\func_get_args()); } - public function _prefix($value): string + public function client($operation, ...$args): mixed { - return $this->initializeLazyObject()->_prefix(...\func_get_args()); + return $this->initializeLazyObject()->client(...\func_get_args()); } - public function getLastError(): ?string + public function close(): bool { - return $this->initializeLazyObject()->getLastError(...\func_get_args()); + return $this->initializeLazyObject()->close(...\func_get_args()); } - public function clearLastError(): bool + public function cmsIncrBy($key, $field, $value, ...$fields_and_falues): \Relay\Relay|array|false { - return $this->initializeLazyObject()->clearLastError(...\func_get_args()); + return $this->initializeLazyObject()->cmsIncrBy(...\func_get_args()); } - public function endpointId(): false|string + public function cmsInfo($key): \Relay\Relay|array|false { - return $this->initializeLazyObject()->endpointId(...\func_get_args()); + return $this->initializeLazyObject()->cmsInfo(...\func_get_args()); } - public function getPersistentID(): false|string + public function cmsInitByDim($key, $width, $depth): \Relay\Relay|bool { - return $this->initializeLazyObject()->getPersistentID(...\func_get_args()); + return $this->initializeLazyObject()->cmsInitByDim(...\func_get_args()); } - public function socketId(): false|string + public function cmsInitByProb($key, $error, $probability): \Relay\Relay|bool { - return $this->initializeLazyObject()->socketId(...\func_get_args()); + return $this->initializeLazyObject()->cmsInitByProb(...\func_get_args()); } - public function rawCommand($cmd, ...$args): mixed + public function cmsMerge($dstkey, $keys, $weights = []): \Relay\Relay|bool { - return $this->initializeLazyObject()->rawCommand(...\func_get_args()); + return $this->initializeLazyObject()->cmsMerge(...\func_get_args()); } - public function select($db): \Relay\Relay|bool + public function cmsQuery($key, ...$fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->select(...\func_get_args()); + return $this->initializeLazyObject()->cmsQuery(...\func_get_args()); } - public function auth(#[\SensitiveParameter] $auth): bool + public function command(...$args): \Relay\Relay|array|false|int { - return $this->initializeLazyObject()->auth(...\func_get_args()); + return $this->initializeLazyObject()->command(...\func_get_args()); } - public function info(...$sections): \Relay\Relay|array|false + public function commandlog($subcmd, ...$args): \Relay\Relay|array|bool|int { - return $this->initializeLazyObject()->info(...\func_get_args()); + return $this->initializeLazyObject()->commandlog(...\func_get_args()); } - public function flushdb($sync = null): \Relay\Relay|bool + public function config($operation, $key = null, $value = null): \Relay\Relay|array|bool { - return $this->initializeLazyObject()->flushdb(...\func_get_args()); + return $this->initializeLazyObject()->config(...\func_get_args()); } - public function flushall($sync = null): \Relay\Relay|bool + public function connect($host, $port = 6379, $timeout = 0.0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0): bool { - return $this->initializeLazyObject()->flushall(...\func_get_args()); + return $this->initializeLazyObject()->connect(...\func_get_args()); } - public function fcall($name, $keys = [], $argv = [], $handler = null): mixed + public function copy($src, $dst, $options = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->fcall(...\func_get_args()); + return $this->initializeLazyObject()->copy(...\func_get_args()); } - public function fcall_ro($name, $keys = [], $argv = [], $handler = null): mixed + public function dbsize(): \Relay\Relay|false|int { - return $this->initializeLazyObject()->fcall_ro(...\func_get_args()); + return $this->initializeLazyObject()->dbsize(...\func_get_args()); } - public function function($op, ...$args): mixed + public function decr($key, $by = 1): \Relay\Relay|false|int { - return $this->initializeLazyObject()->function(...\func_get_args()); + return $this->initializeLazyObject()->decr(...\func_get_args()); } - public function dbsize(): \Relay\Relay|false|int + public function decrby($key, $value): \Relay\Relay|false|int { - return $this->initializeLazyObject()->dbsize(...\func_get_args()); + return $this->initializeLazyObject()->decrby(...\func_get_args()); } - public function replicaof($host = null, $port = 0): \Relay\Relay|bool + public function del(...$keys): \Relay\Relay|bool|int { - return $this->initializeLazyObject()->replicaof(...\func_get_args()); + return $this->initializeLazyObject()->del(...\func_get_args()); } - public function waitaof($numlocal, $numremote, $timeout): \Relay\Relay|array|false + public function discard(): bool { - return $this->initializeLazyObject()->waitaof(...\func_get_args()); + return $this->initializeLazyObject()->discard(...\func_get_args()); } - public function restore($key, $ttl, $value, $options = null): \Relay\Relay|bool + public function dispatchEvents(): false|int { - return $this->initializeLazyObject()->restore(...\func_get_args()); + return $this->initializeLazyObject()->dispatchEvents(...\func_get_args()); } - public function migrate($host, $port, $key, $dstdb, $timeout, $copy = false, $replace = false, #[\SensitiveParameter] $credentials = null): \Relay\Relay|bool + public function dump($key): \Relay\Relay|false|null|string { - return $this->initializeLazyObject()->migrate(...\func_get_args()); + return $this->initializeLazyObject()->dump(...\func_get_args()); } public function echo($arg): \Relay\Relay|bool|string @@ -305,454 +288,449 @@ public function echo($arg): \Relay\Relay|bool|string return $this->initializeLazyObject()->echo(...\func_get_args()); } - public function ping($arg = null): \Relay\Relay|bool|string + public function endpointId(): false|string { - return $this->initializeLazyObject()->ping(...\func_get_args()); + return $this->initializeLazyObject()->endpointId(...\func_get_args()); } - public function idleTime(): \Relay\Relay|false|int + public function eval($script, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->idleTime(...\func_get_args()); + return $this->initializeLazyObject()->eval(...\func_get_args()); } - public function randomkey(): \Relay\Relay|bool|null|string + public function eval_ro($script, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->randomkey(...\func_get_args()); + return $this->initializeLazyObject()->eval_ro(...\func_get_args()); } - public function time(): \Relay\Relay|array|false + public function evalsha($sha, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->time(...\func_get_args()); + return $this->initializeLazyObject()->evalsha(...\func_get_args()); } - public function bgrewriteaof(): \Relay\Relay|bool + public function evalsha_ro($sha, $args = [], $num_keys = 0): mixed { - return $this->initializeLazyObject()->bgrewriteaof(...\func_get_args()); + return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); } - public function lastsave(): \Relay\Relay|false|int + public function exec(): \Relay\Relay|array|bool { - return $this->initializeLazyObject()->lastsave(...\func_get_args()); + return $this->initializeLazyObject()->exec(...\func_get_args()); } - public function lcs($key1, $key2, $options = null): mixed + public function exists(...$keys): \Relay\Relay|bool|int { - return $this->initializeLazyObject()->lcs(...\func_get_args()); + return $this->initializeLazyObject()->exists(...\func_get_args()); } - public function save(): \Relay\Relay|bool + public function expire($key, $seconds, $mode = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->save(...\func_get_args()); + return $this->initializeLazyObject()->expire(...\func_get_args()); } - public function role(): \Relay\Relay|array|false + public function expireat($key, $timestamp): \Relay\Relay|bool { - return $this->initializeLazyObject()->role(...\func_get_args()); + return $this->initializeLazyObject()->expireat(...\func_get_args()); } - public function ttl($key): \Relay\Relay|false|int + public function expiretime($key): \Relay\Relay|false|int { - return $this->initializeLazyObject()->ttl(...\func_get_args()); + return $this->initializeLazyObject()->expiretime(...\func_get_args()); } - public function pttl($key): \Relay\Relay|false|int + public function fcall($name, $keys = [], $argv = [], $handler = null): mixed { - return $this->initializeLazyObject()->pttl(...\func_get_args()); + return $this->initializeLazyObject()->fcall(...\func_get_args()); } - public function exists(...$keys): \Relay\Relay|bool|int + public function fcall_ro($name, $keys = [], $argv = [], $handler = null): mixed { - return $this->initializeLazyObject()->exists(...\func_get_args()); + return $this->initializeLazyObject()->fcall_ro(...\func_get_args()); } - public function eval($script, $args = [], $num_keys = 0): mixed + public function flushall($sync = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->eval(...\func_get_args()); + return $this->initializeLazyObject()->flushall(...\func_get_args()); } - public function eval_ro($script, $args = [], $num_keys = 0): mixed + public function flushdb($sync = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->eval_ro(...\func_get_args()); + return $this->initializeLazyObject()->flushdb(...\func_get_args()); } - public function evalsha($sha, $args = [], $num_keys = 0): mixed + public function ftAggregate($index, $query, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->evalsha(...\func_get_args()); + return $this->initializeLazyObject()->ftAggregate(...\func_get_args()); } - public function evalsha_ro($sha, $args = [], $num_keys = 0): mixed + public function ftAliasAdd($index, $alias): \Relay\Relay|bool { - return $this->initializeLazyObject()->evalsha_ro(...\func_get_args()); + return $this->initializeLazyObject()->ftAliasAdd(...\func_get_args()); } - public function client($operation, ...$args): mixed + public function ftAliasDel($alias): \Relay\Relay|bool { - return $this->initializeLazyObject()->client(...\func_get_args()); + return $this->initializeLazyObject()->ftAliasDel(...\func_get_args()); } - public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \Relay\Relay|false|int + public function ftAliasUpdate($index, $alias): \Relay\Relay|bool { - return $this->initializeLazyObject()->geoadd(...\func_get_args()); + return $this->initializeLazyObject()->ftAliasUpdate(...\func_get_args()); } - public function geohash($key, $member, ...$other_members): \Relay\Relay|array|false + public function ftAlter($index, $schema, $skipinitialscan = false): \Relay\Relay|bool { - return $this->initializeLazyObject()->geohash(...\func_get_args()); + return $this->initializeLazyObject()->ftAlter(...\func_get_args()); } - public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed + public function ftConfig($operation, $option, $value = null): \Relay\Relay|array|bool { - return $this->initializeLazyObject()->georadius(...\func_get_args()); + return $this->initializeLazyObject()->ftConfig(...\func_get_args()); } - public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed + public function ftCreate($index, $schema, $options = null): \Relay\Relay|bool { - return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); + return $this->initializeLazyObject()->ftCreate(...\func_get_args()); } - public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed + public function ftCursor($operation, $index, $cursor, $options = null): \Relay\Relay|array|bool { - return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); + return $this->initializeLazyObject()->ftCursor(...\func_get_args()); } - public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed + public function ftDictAdd($dict, $term, ...$other_terms): \Relay\Relay|false|int { - return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); + return $this->initializeLazyObject()->ftDictAdd(...\func_get_args()); } - public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \Relay\Relay|false|int + public function ftDictDel($dict, $term, ...$other_terms): \Relay\Relay|false|int { - return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); + return $this->initializeLazyObject()->ftDictDel(...\func_get_args()); } - public function get($key): mixed + public function ftDictDump($dict): \Relay\Relay|array|false { - return $this->initializeLazyObject()->get(...\func_get_args()); + return $this->initializeLazyObject()->ftDictDump(...\func_get_args()); } - public function getset($key, $value): mixed - { - return $this->initializeLazyObject()->getset(...\func_get_args()); - } - - public function setrange($key, $start, $value): \Relay\Relay|false|int + public function ftDropIndex($index, $dd = false): \Relay\Relay|bool { - return $this->initializeLazyObject()->setrange(...\func_get_args()); + return $this->initializeLazyObject()->ftDropIndex(...\func_get_args()); } - public function getbit($key, $pos): \Relay\Relay|false|int + public function ftExplain($index, $query, $dialect = 0): \Relay\Relay|false|string { - return $this->initializeLazyObject()->getbit(...\func_get_args()); + return $this->initializeLazyObject()->ftExplain(...\func_get_args()); } - public function bitcount($key, $start = 0, $end = -1, $by_bit = false): \Relay\Relay|false|int + public function ftExplainCli($index, $query, $dialect = 0): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bitcount(...\func_get_args()); + return $this->initializeLazyObject()->ftExplainCli(...\func_get_args()); } - public function bitfield($key, ...$args): \Relay\Relay|array|false + public function ftInfo($index): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bitfield(...\func_get_args()); + return $this->initializeLazyObject()->ftInfo(...\func_get_args()); } - public function config($operation, $key = null, $value = null): \Relay\Relay|array|bool + public function ftProfile($index, $command, $query, $limited = false): \Relay\Relay|array|false { - return $this->initializeLazyObject()->config(...\func_get_args()); + return $this->initializeLazyObject()->ftProfile(...\func_get_args()); } - public function command(...$args): \Relay\Relay|array|false|int + public function ftSearch($index, $query, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->command(...\func_get_args()); + return $this->initializeLazyObject()->ftSearch(...\func_get_args()); } - public function bitop($operation, $dstkey, $srckey, ...$other_keys): \Relay\Relay|false|int + public function ftSpellCheck($index, $query, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bitop(...\func_get_args()); + return $this->initializeLazyObject()->ftSpellCheck(...\func_get_args()); } - public function bitpos($key, $bit, $start = null, $end = null, $bybit = false): \Relay\Relay|false|int + public function ftSynDump($index): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bitpos(...\func_get_args()); + return $this->initializeLazyObject()->ftSynDump(...\func_get_args()); } - public function setbit($key, $pos, $val): \Relay\Relay|false|int + public function ftSynUpdate($index, $synonym, $term_or_terms, $skipinitialscan = false): \Relay\Relay|bool { - return $this->initializeLazyObject()->setbit(...\func_get_args()); + return $this->initializeLazyObject()->ftSynUpdate(...\func_get_args()); } - public function acl($cmd, ...$args): mixed + public function ftTagVals($index, $tag): \Relay\Relay|array|false { - return $this->initializeLazyObject()->acl(...\func_get_args()); + return $this->initializeLazyObject()->ftTagVals(...\func_get_args()); } - public function append($key, $value): \Relay\Relay|false|int + public function function($op, ...$args): mixed { - return $this->initializeLazyObject()->append(...\func_get_args()); + return $this->initializeLazyObject()->function(...\func_get_args()); } - public function set($key, $value, $options = null): mixed + public function geoadd($key, $lng, $lat, $member, ...$other_triples_and_options): \Relay\Relay|false|int { - return $this->initializeLazyObject()->set(...\func_get_args()); + return $this->initializeLazyObject()->geoadd(...\func_get_args()); } - public function getex($key, $options = null): mixed + public function geodist($key, $src, $dst, $unit = null): \Relay\Relay|false|float|null { - return $this->initializeLazyObject()->getex(...\func_get_args()); + return $this->initializeLazyObject()->geodist(...\func_get_args()); } - public function getdel($key): mixed + public function geohash($key, $member, ...$other_members): \Relay\Relay|array|false { - return $this->initializeLazyObject()->getdel(...\func_get_args()); + return $this->initializeLazyObject()->geohash(...\func_get_args()); } - public function setex($key, $seconds, $value): \Relay\Relay|bool + public function geopos($key, ...$members): \Relay\Relay|array|false { - return $this->initializeLazyObject()->setex(...\func_get_args()); + return $this->initializeLazyObject()->geopos(...\func_get_args()); } - public function pfadd($key, $elements): \Relay\Relay|false|int + public function georadius($key, $lng, $lat, $radius, $unit, $options = []): mixed { - return $this->initializeLazyObject()->pfadd(...\func_get_args()); + return $this->initializeLazyObject()->georadius(...\func_get_args()); } - public function pfmerge($dst, $srckeys): \Relay\Relay|bool + public function georadius_ro($key, $lng, $lat, $radius, $unit, $options = []): mixed { - return $this->initializeLazyObject()->pfmerge(...\func_get_args()); + return $this->initializeLazyObject()->georadius_ro(...\func_get_args()); } - public function psetex($key, $milliseconds, $value): \Relay\Relay|bool + public function georadiusbymember($key, $member, $radius, $unit, $options = []): mixed { - return $this->initializeLazyObject()->psetex(...\func_get_args()); + return $this->initializeLazyObject()->georadiusbymember(...\func_get_args()); } - public function publish($channel, $message): \Relay\Relay|false|int + public function georadiusbymember_ro($key, $member, $radius, $unit, $options = []): mixed { - return $this->initializeLazyObject()->publish(...\func_get_args()); + return $this->initializeLazyObject()->georadiusbymember_ro(...\func_get_args()); } - public function pubsub($operation, ...$args): mixed + public function geosearch($key, $position, $shape, $unit, $options = []): \Relay\Relay|array|false { - return $this->initializeLazyObject()->pubsub(...\func_get_args()); + return $this->initializeLazyObject()->geosearch(...\func_get_args()); } - public function spublish($channel, $message): \Relay\Relay|false|int + public function geosearchstore($dst, $src, $position, $shape, $unit, $options = []): \Relay\Relay|false|int { - return $this->initializeLazyObject()->spublish(...\func_get_args()); + return $this->initializeLazyObject()->geosearchstore(...\func_get_args()); } - public function setnx($key, $value): \Relay\Relay|bool + public function get($key): mixed { - return $this->initializeLazyObject()->setnx(...\func_get_args()); + return $this->initializeLazyObject()->get(...\func_get_args()); } - public function mget($keys): \Relay\Relay|array|false + public function getAuth(): mixed { - return $this->initializeLazyObject()->mget(...\func_get_args()); + return $this->initializeLazyObject()->getAuth(...\func_get_args()); } - public function move($key, $db): \Relay\Relay|false|int + public function getBytes(): array { - return $this->initializeLazyObject()->move(...\func_get_args()); + return $this->initializeLazyObject()->getBytes(...\func_get_args()); } - public function mset($kvals): \Relay\Relay|bool + public function getDbNum(): mixed { - return $this->initializeLazyObject()->mset(...\func_get_args()); + return $this->initializeLazyObject()->getDbNum(...\func_get_args()); } - public function msetnx($kvals): \Relay\Relay|bool + public function getHost(): false|string { - return $this->initializeLazyObject()->msetnx(...\func_get_args()); + return $this->initializeLazyObject()->getHost(...\func_get_args()); } - public function rename($key, $newkey): \Relay\Relay|bool + public function getLastError(): ?string { - return $this->initializeLazyObject()->rename(...\func_get_args()); + return $this->initializeLazyObject()->getLastError(...\func_get_args()); } - public function renamenx($key, $newkey): \Relay\Relay|bool + public function getMode($masked = false): int { - return $this->initializeLazyObject()->renamenx(...\func_get_args()); + return $this->initializeLazyObject()->getMode(...\func_get_args()); } - public function del(...$keys): \Relay\Relay|bool|int + public function getOption($option): mixed { - return $this->initializeLazyObject()->del(...\func_get_args()); + return $this->initializeLazyObject()->getOption(...\func_get_args()); } - public function unlink(...$keys): \Relay\Relay|false|int + public function getPersistentID(): false|string { - return $this->initializeLazyObject()->unlink(...\func_get_args()); + return $this->initializeLazyObject()->getPersistentID(...\func_get_args()); } - public function expire($key, $seconds, $mode = null): \Relay\Relay|bool + public function getPort(): false|int { - return $this->initializeLazyObject()->expire(...\func_get_args()); + return $this->initializeLazyObject()->getPort(...\func_get_args()); } - public function pexpire($key, $milliseconds): \Relay\Relay|bool + public function getReadTimeout(): false|float { - return $this->initializeLazyObject()->pexpire(...\func_get_args()); + return $this->initializeLazyObject()->getReadTimeout(...\func_get_args()); } - public function expireat($key, $timestamp): \Relay\Relay|bool + public function getTimeout(): false|float { - return $this->initializeLazyObject()->expireat(...\func_get_args()); + return $this->initializeLazyObject()->getTimeout(...\func_get_args()); } - public function expiretime($key): \Relay\Relay|false|int + public function getWithMeta($key): \Relay\Relay|array|false { - return $this->initializeLazyObject()->expiretime(...\func_get_args()); + return $this->initializeLazyObject()->getWithMeta(...\func_get_args()); } - public function pexpireat($key, $timestamp_ms): \Relay\Relay|bool + public function getbit($key, $pos): \Relay\Relay|false|int { - return $this->initializeLazyObject()->pexpireat(...\func_get_args()); + return $this->initializeLazyObject()->getbit(...\func_get_args()); } - public function pexpiretime($key): \Relay\Relay|false|int + public function getdel($key): mixed { - return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); + return $this->initializeLazyObject()->getdel(...\func_get_args()); } - public function persist($key): \Relay\Relay|bool + public function getex($key, $options = null): mixed { - return $this->initializeLazyObject()->persist(...\func_get_args()); + return $this->initializeLazyObject()->getex(...\func_get_args()); } - public function type($key): \Relay\Relay|bool|int|string + public function getrange($key, $start, $end): mixed { - return $this->initializeLazyObject()->type(...\func_get_args()); + return $this->initializeLazyObject()->getrange(...\func_get_args()); } - public function lrange($key, $start, $stop): \Relay\Relay|array|false + public function getset($key, $value): mixed { - return $this->initializeLazyObject()->lrange(...\func_get_args()); + return $this->initializeLazyObject()->getset(...\func_get_args()); } - public function lpush($key, $mem, ...$mems): \Relay\Relay|false|int + public function hdel($key, $mem, ...$mems): \Relay\Relay|false|int { - return $this->initializeLazyObject()->lpush(...\func_get_args()); + return $this->initializeLazyObject()->hdel(...\func_get_args()); } - public function rpush($key, $mem, ...$mems): \Relay\Relay|false|int + public function hexists($hash, $member): \Relay\Relay|bool { - return $this->initializeLazyObject()->rpush(...\func_get_args()); + return $this->initializeLazyObject()->hexists(...\func_get_args()); } - public function lpushx($key, $mem, ...$mems): \Relay\Relay|false|int + public function hexpire($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->lpushx(...\func_get_args()); + return $this->initializeLazyObject()->hexpire(...\func_get_args()); } - public function rpushx($key, $mem, ...$mems): \Relay\Relay|false|int + public function hexpireat($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->rpushx(...\func_get_args()); + return $this->initializeLazyObject()->hexpireat(...\func_get_args()); } - public function lset($key, $index, $mem): \Relay\Relay|bool + public function hexpiretime($hash, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->lset(...\func_get_args()); + return $this->initializeLazyObject()->hexpiretime(...\func_get_args()); } - public function lpop($key, $count = 1): mixed + public function hget($hash, $member): mixed { - return $this->initializeLazyObject()->lpop(...\func_get_args()); + return $this->initializeLazyObject()->hget(...\func_get_args()); } - public function lpos($key, $value, $options = null): \Relay\Relay|array|false|int|null + public function hgetall($hash): \Relay\Relay|array|false { - return $this->initializeLazyObject()->lpos(...\func_get_args()); + return $this->initializeLazyObject()->hgetall(...\func_get_args()); } - public function rpop($key, $count = 1): mixed + public function hgetdel($key, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->rpop(...\func_get_args()); + return $this->initializeLazyObject()->hgetdel(...\func_get_args()); } - public function rpoplpush($source, $dest): mixed + public function hgetex($hash, $fields, $expiry = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); + return $this->initializeLazyObject()->hgetex(...\func_get_args()); } - public function brpoplpush($source, $dest, $timeout): mixed + public function hincrby($key, $mem, $value): \Relay\Relay|false|int { - return $this->initializeLazyObject()->brpoplpush(...\func_get_args()); + return $this->initializeLazyObject()->hincrby(...\func_get_args()); } - public function blpop($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null + public function hincrbyfloat($key, $mem, $value): \Relay\Relay|bool|float { - return $this->initializeLazyObject()->blpop(...\func_get_args()); + return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); } - public function blmpop($timeout, $keys, $from, $count = 1): \Relay\Relay|array|false|null + public function hkeys($hash): \Relay\Relay|array|false { - return $this->initializeLazyObject()->blmpop(...\func_get_args()); + return $this->initializeLazyObject()->hkeys(...\func_get_args()); } - public function bzmpop($timeout, $keys, $from, $count = 1): \Relay\Relay|array|false|null + public function hlen($key): \Relay\Relay|false|int { - return $this->initializeLazyObject()->bzmpop(...\func_get_args()); + return $this->initializeLazyObject()->hlen(...\func_get_args()); } - public function lmpop($keys, $from, $count = 1): \Relay\Relay|array|false|null + public function hmget($hash, $members): \Relay\Relay|array|false { - return $this->initializeLazyObject()->lmpop(...\func_get_args()); + return $this->initializeLazyObject()->hmget(...\func_get_args()); } - public function zmpop($keys, $from, $count = 1): \Relay\Relay|array|false|null + public function hmset($hash, $members): \Relay\Relay|bool { - return $this->initializeLazyObject()->zmpop(...\func_get_args()); + return $this->initializeLazyObject()->hmset(...\func_get_args()); } - public function brpop($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null + public function hpersist($hash, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->brpop(...\func_get_args()); + return $this->initializeLazyObject()->hpersist(...\func_get_args()); } - public function bzpopmax($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null + public function hpexpire($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bzpopmax(...\func_get_args()); + return $this->initializeLazyObject()->hpexpire(...\func_get_args()); } - public function bzpopmin($key, $timeout_or_key, ...$extra_args): \Relay\Relay|array|false|null + public function hpexpireat($hash, $ttl, $fields, $mode = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->bzpopmin(...\func_get_args()); + return $this->initializeLazyObject()->hpexpireat(...\func_get_args()); } - public function object($op, $key): mixed + public function hpexpiretime($hash, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->object(...\func_get_args()); + return $this->initializeLazyObject()->hpexpiretime(...\func_get_args()); } - public function geopos($key, ...$members): \Relay\Relay|array|false + public function hpttl($hash, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->geopos(...\func_get_args()); + return $this->initializeLazyObject()->hpttl(...\func_get_args()); } - public function lrem($key, $mem, $count = 0): \Relay\Relay|false|int + public function hrandfield($hash, $options = null): \Relay\Relay|array|false|null|string { - return $this->initializeLazyObject()->lrem(...\func_get_args()); + return $this->initializeLazyObject()->hrandfield(...\func_get_args()); } - public function lindex($key, $index): mixed + public function hscan($key, &$iterator, $match = null, $count = 0): array|false { - return $this->initializeLazyObject()->lindex(...\func_get_args()); + return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); } - public function linsert($key, $op, $pivot, $element): \Relay\Relay|false|int + public function hset($key, ...$keys_and_vals): \Relay\Relay|false|int { - return $this->initializeLazyObject()->linsert(...\func_get_args()); + return $this->initializeLazyObject()->hset(...\func_get_args()); } - public function ltrim($key, $start, $end): \Relay\Relay|bool + public function hsetex($key, $fields, $expiry = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->ltrim(...\func_get_args()); + return $this->initializeLazyObject()->hsetex(...\func_get_args()); } - public function hget($hash, $member): mixed + public function hsetnx($hash, $member, $value): \Relay\Relay|bool { - return $this->initializeLazyObject()->hget(...\func_get_args()); + return $this->initializeLazyObject()->hsetnx(...\func_get_args()); } public function hstrlen($hash, $member): \Relay\Relay|false|int @@ -760,14 +738,9 @@ public function hstrlen($hash, $member): \Relay\Relay|false|int return $this->initializeLazyObject()->hstrlen(...\func_get_args()); } - public function hgetall($hash): \Relay\Relay|array|false - { - return $this->initializeLazyObject()->hgetall(...\func_get_args()); - } - - public function hkeys($hash): \Relay\Relay|array|false + public function httl($hash, $fields): \Relay\Relay|array|false { - return $this->initializeLazyObject()->hkeys(...\func_get_args()); + return $this->initializeLazyObject()->httl(...\func_get_args()); } public function hvals($hash): \Relay\Relay|array|false @@ -775,109 +748,349 @@ public function hvals($hash): \Relay\Relay|array|false return $this->initializeLazyObject()->hvals(...\func_get_args()); } - public function hmget($hash, $members): \Relay\Relay|array|false + public function idleTime(): \Relay\Relay|false|int { - return $this->initializeLazyObject()->hmget(...\func_get_args()); + return $this->initializeLazyObject()->idleTime(...\func_get_args()); } - public function hmset($hash, $members): \Relay\Relay|bool + public function incr($key, $by = 1): \Relay\Relay|false|int { - return $this->initializeLazyObject()->hmset(...\func_get_args()); + return $this->initializeLazyObject()->incr(...\func_get_args()); } - public function hexists($hash, $member): \Relay\Relay|bool + public function incrby($key, $value): \Relay\Relay|false|int { - return $this->initializeLazyObject()->hexists(...\func_get_args()); + return $this->initializeLazyObject()->incrby(...\func_get_args()); } - public function hsetnx($hash, $member, $value): \Relay\Relay|bool + public function incrbyfloat($key, $value): \Relay\Relay|false|float { - return $this->initializeLazyObject()->hsetnx(...\func_get_args()); + return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); } - public function hdel($key, $mem, ...$mems): \Relay\Relay|false|int + public function info(...$sections): \Relay\Relay|array|false { - return $this->initializeLazyObject()->hdel(...\func_get_args()); + return $this->initializeLazyObject()->info(...\func_get_args()); } - public function hincrby($key, $mem, $value): \Relay\Relay|false|int + public function isConnected(): bool { - return $this->initializeLazyObject()->hincrby(...\func_get_args()); + return $this->initializeLazyObject()->isConnected(...\func_get_args()); } - public function hincrbyfloat($key, $mem, $value): \Relay\Relay|bool|float + public function jsonArrAppend($key, $value_or_array, $path = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->hincrbyfloat(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrAppend(...\func_get_args()); } - public function incr($key, $by = 1): \Relay\Relay|false|int + public function jsonArrIndex($key, $path, $value, $start = 0, $stop = -1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->incr(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrIndex(...\func_get_args()); } - public function decr($key, $by = 1): \Relay\Relay|false|int + public function jsonArrInsert($key, $path, $index, $value, ...$other_values): \Relay\Relay|array|false { - return $this->initializeLazyObject()->decr(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrInsert(...\func_get_args()); } - public function incrby($key, $value): \Relay\Relay|false|int + public function jsonArrLen($key, $path = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->incrby(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrLen(...\func_get_args()); } - public function decrby($key, $value): \Relay\Relay|false|int + public function jsonArrPop($key, $path = null, $index = -1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->decrby(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrPop(...\func_get_args()); } - public function incrbyfloat($key, $value): \Relay\Relay|false|float + public function jsonArrTrim($key, $path, $start, $stop): \Relay\Relay|array|false { - return $this->initializeLazyObject()->incrbyfloat(...\func_get_args()); + return $this->initializeLazyObject()->jsonArrTrim(...\func_get_args()); } - public function sdiff($key, ...$other_keys): \Relay\Relay|array|false + public function jsonClear($key, $path = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sdiff(...\func_get_args()); + return $this->initializeLazyObject()->jsonClear(...\func_get_args()); } - public function sdiffstore($key, ...$other_keys): \Relay\Relay|false|int + public function jsonDebug($command, $key, $path = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); + return $this->initializeLazyObject()->jsonDebug(...\func_get_args()); } - public function sinter($key, ...$other_keys): \Relay\Relay|array|false + public function jsonDel($key, $path = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sinter(...\func_get_args()); + return $this->initializeLazyObject()->jsonDel(...\func_get_args()); } - public function sintercard($keys, $limit = -1): \Relay\Relay|false|int + public function jsonForget($key, $path = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sintercard(...\func_get_args()); + return $this->initializeLazyObject()->jsonForget(...\func_get_args()); } - public function sinterstore($key, ...$other_keys): \Relay\Relay|false|int + public function jsonGet($key, $options = [], ...$paths): mixed { - return $this->initializeLazyObject()->sinterstore(...\func_get_args()); + return $this->initializeLazyObject()->jsonGet(...\func_get_args()); } - public function sunion($key, ...$other_keys): \Relay\Relay|array|false + public function jsonMerge($key, $path, $value): \Relay\Relay|bool { - return $this->initializeLazyObject()->sunion(...\func_get_args()); + return $this->initializeLazyObject()->jsonMerge(...\func_get_args()); } - public function sunionstore($key, ...$other_keys): \Relay\Relay|false|int + public function jsonMget($key_or_array, $path): \Relay\Relay|array|false { - return $this->initializeLazyObject()->sunionstore(...\func_get_args()); + return $this->initializeLazyObject()->jsonMget(...\func_get_args()); } - public function subscribe($channels, $callback): bool + public function jsonMset($key, $path, $value, ...$other_triples): \Relay\Relay|bool { - return $this->initializeLazyObject()->subscribe(...\func_get_args()); + return $this->initializeLazyObject()->jsonMset(...\func_get_args()); } - public function unsubscribe($channels = []): bool + public function jsonNumIncrBy($key, $path, $value): \Relay\Relay|array|false { - return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); + return $this->initializeLazyObject()->jsonNumIncrBy(...\func_get_args()); + } + + public function jsonNumMultBy($key, $path, $value): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonNumMultBy(...\func_get_args()); + } + + public function jsonObjKeys($key, $path = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonObjKeys(...\func_get_args()); + } + + public function jsonObjLen($key, $path = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonObjLen(...\func_get_args()); + } + + public function jsonResp($key, $path = null): \Relay\Relay|array|false|int|string + { + return $this->initializeLazyObject()->jsonResp(...\func_get_args()); + } + + public function jsonSet($key, $path, $value, $condition = null): \Relay\Relay|bool + { + return $this->initializeLazyObject()->jsonSet(...\func_get_args()); + } + + public function jsonStrAppend($key, $value, $path = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonStrAppend(...\func_get_args()); + } + + public function jsonStrLen($key, $path = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonStrLen(...\func_get_args()); + } + + public function jsonToggle($key, $path): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonToggle(...\func_get_args()); + } + + public function jsonType($key, $path = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->jsonType(...\func_get_args()); + } + + public function keys($pattern): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->keys(...\func_get_args()); + } + + public function lastsave(): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->lastsave(...\func_get_args()); + } + + public function lcs($key1, $key2, $options = null): mixed + { + return $this->initializeLazyObject()->lcs(...\func_get_args()); + } + + public function lindex($key, $index): mixed + { + return $this->initializeLazyObject()->lindex(...\func_get_args()); + } + + public function linsert($key, $op, $pivot, $element): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->linsert(...\func_get_args()); + } + + public function listen($callback): bool + { + return $this->initializeLazyObject()->listen(...\func_get_args()); + } + + public function llen($key): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->llen(...\func_get_args()); + } + + public function lmove($srckey, $dstkey, $srcpos, $dstpos): mixed + { + return $this->initializeLazyObject()->lmove(...\func_get_args()); + } + + public function lmpop($keys, $from, $count = 1): \Relay\Relay|array|false|null + { + return $this->initializeLazyObject()->lmpop(...\func_get_args()); + } + + public function lpop($key, $count = 1): mixed + { + return $this->initializeLazyObject()->lpop(...\func_get_args()); + } + + public function lpos($key, $value, $options = null): \Relay\Relay|array|false|int|null + { + return $this->initializeLazyObject()->lpos(...\func_get_args()); + } + + public function lpush($key, $mem, ...$mems): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->lpush(...\func_get_args()); + } + + public function lpushx($key, $mem, ...$mems): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->lpushx(...\func_get_args()); + } + + public function lrange($key, $start, $stop): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->lrange(...\func_get_args()); + } + + public function lrem($key, $mem, $count = 0): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->lrem(...\func_get_args()); + } + + public function lset($key, $index, $mem): \Relay\Relay|bool + { + return $this->initializeLazyObject()->lset(...\func_get_args()); + } + + public function ltrim($key, $start, $end): \Relay\Relay|bool + { + return $this->initializeLazyObject()->ltrim(...\func_get_args()); + } + + public function mget($keys): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->mget(...\func_get_args()); + } + + public function migrate($host, $port, $key, $dstdb, $timeout, $copy = false, $replace = false, #[\SensitiveParameter] $credentials = null): \Relay\Relay|bool + { + return $this->initializeLazyObject()->migrate(...\func_get_args()); + } + + public function move($key, $db): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->move(...\func_get_args()); + } + + public function mset($kvals): \Relay\Relay|bool + { + return $this->initializeLazyObject()->mset(...\func_get_args()); + } + + public function msetnx($kvals): \Relay\Relay|bool + { + return $this->initializeLazyObject()->msetnx(...\func_get_args()); + } + + public function multi($mode = 0): \Relay\Relay|bool + { + return $this->initializeLazyObject()->multi(...\func_get_args()); + } + + public function object($op, $key): mixed + { + return $this->initializeLazyObject()->object(...\func_get_args()); + } + + public function onFlushed($callback): bool + { + return $this->initializeLazyObject()->onFlushed(...\func_get_args()); + } + + public function onInvalidated($callback, $pattern = null): bool + { + return $this->initializeLazyObject()->onInvalidated(...\func_get_args()); + } + + public function option($option, $value = null): mixed + { + return $this->initializeLazyObject()->option(...\func_get_args()); + } + + public function pclose(): bool + { + return $this->initializeLazyObject()->pclose(...\func_get_args()); + } + + public function pconnect($host, $port = 6379, $timeout = 0.0, $persistent_id = null, $retry_interval = 0, $read_timeout = 0.0, #[\SensitiveParameter] $context = [], $database = 0): bool + { + return $this->initializeLazyObject()->pconnect(...\func_get_args()); + } + + public function persist($key): \Relay\Relay|bool + { + return $this->initializeLazyObject()->persist(...\func_get_args()); + } + + public function pexpire($key, $milliseconds): \Relay\Relay|bool + { + return $this->initializeLazyObject()->pexpire(...\func_get_args()); + } + + public function pexpireat($key, $timestamp_ms): \Relay\Relay|bool + { + return $this->initializeLazyObject()->pexpireat(...\func_get_args()); + } + + public function pexpiretime($key): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->pexpiretime(...\func_get_args()); + } + + public function pfadd($key, $elements): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->pfadd(...\func_get_args()); + } + + public function pfcount($key_or_keys): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->pfcount(...\func_get_args()); + } + + public function pfmerge($dst, $srckeys): \Relay\Relay|bool + { + return $this->initializeLazyObject()->pfmerge(...\func_get_args()); + } + + public function ping($arg = null): \Relay\Relay|bool|string + { + return $this->initializeLazyObject()->ping(...\func_get_args()); + } + + public function pipeline(): \Relay\Relay|bool + { + return $this->initializeLazyObject()->pipeline(...\func_get_args()); + } + + public function psetex($key, $milliseconds, $value): \Relay\Relay|bool + { + return $this->initializeLazyObject()->psetex(...\func_get_args()); } public function psubscribe($patterns, $callback): bool @@ -885,79 +1098,239 @@ public function psubscribe($patterns, $callback): bool return $this->initializeLazyObject()->psubscribe(...\func_get_args()); } + public function pttl($key): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->pttl(...\func_get_args()); + } + + public function publish($channel, $message): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->publish(...\func_get_args()); + } + + public function pubsub($operation, ...$args): mixed + { + return $this->initializeLazyObject()->pubsub(...\func_get_args()); + } + public function punsubscribe($patterns = []): bool { return $this->initializeLazyObject()->punsubscribe(...\func_get_args()); } - public function ssubscribe($channels, $callback): bool + public function randomkey(): \Relay\Relay|bool|null|string { - return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); + return $this->initializeLazyObject()->randomkey(...\func_get_args()); } - public function sunsubscribe($channels = []): bool + public function rawCommand($cmd, ...$args): mixed { - return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); + return $this->initializeLazyObject()->rawCommand(...\func_get_args()); } - public function touch($key_or_array, ...$more_keys): \Relay\Relay|false|int + public function readTimeout(): false|float { - return $this->initializeLazyObject()->touch(...\func_get_args()); + return $this->initializeLazyObject()->readTimeout(...\func_get_args()); } - public function pipeline(): \Relay\Relay|bool + public function rename($key, $newkey): \Relay\Relay|bool { - return $this->initializeLazyObject()->pipeline(...\func_get_args()); + return $this->initializeLazyObject()->rename(...\func_get_args()); } - public function multi($mode = 0): \Relay\Relay|bool + public function renamenx($key, $newkey): \Relay\Relay|bool { - return $this->initializeLazyObject()->multi(...\func_get_args()); + return $this->initializeLazyObject()->renamenx(...\func_get_args()); } - public function exec(): \Relay\Relay|array|bool + public function replicaof($host = null, $port = 0): \Relay\Relay|bool + { + return $this->initializeLazyObject()->replicaof(...\func_get_args()); + } + + public function restore($key, $ttl, $value, $options = null): \Relay\Relay|bool + { + return $this->initializeLazyObject()->restore(...\func_get_args()); + } + + public function role(): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->role(...\func_get_args()); + } + + public function rpop($key, $count = 1): mixed + { + return $this->initializeLazyObject()->rpop(...\func_get_args()); + } + + public function rpoplpush($source, $dest): mixed + { + return $this->initializeLazyObject()->rpoplpush(...\func_get_args()); + } + + public function rpush($key, $mem, ...$mems): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->rpush(...\func_get_args()); + } + + public function rpushx($key, $mem, ...$mems): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->rpushx(...\func_get_args()); + } + + public function sadd($set, $member, ...$members): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->sadd(...\func_get_args()); + } + + public function save(): \Relay\Relay|bool + { + return $this->initializeLazyObject()->save(...\func_get_args()); + } + + public function scan(&$iterator, $match = null, $count = 0, $type = null): array|false + { + return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); + } + + public function scard($key): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->scard(...\func_get_args()); + } + + public function script($command, ...$args): mixed + { + return $this->initializeLazyObject()->script(...\func_get_args()); + } + + public function sdiff($key, ...$other_keys): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->sdiff(...\func_get_args()); + } + + public function sdiffstore($key, ...$other_keys): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->sdiffstore(...\func_get_args()); + } + + public function select($db): \Relay\Relay|bool + { + return $this->initializeLazyObject()->select(...\func_get_args()); + } + + public function serverName(): false|string + { + return $this->initializeLazyObject()->serverName(...\func_get_args()); + } + + public function serverVersion(): false|string + { + return $this->initializeLazyObject()->serverVersion(...\func_get_args()); + } + + public function set($key, $value, $options = null): mixed + { + return $this->initializeLazyObject()->set(...\func_get_args()); + } + + public function setOption($option, $value): bool + { + return $this->initializeLazyObject()->setOption(...\func_get_args()); + } + + public function setbit($key, $pos, $val): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->setbit(...\func_get_args()); + } + + public function setex($key, $seconds, $value): \Relay\Relay|bool + { + return $this->initializeLazyObject()->setex(...\func_get_args()); + } + + public function setnx($key, $value): \Relay\Relay|bool + { + return $this->initializeLazyObject()->setnx(...\func_get_args()); + } + + public function setrange($key, $start, $value): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->setrange(...\func_get_args()); + } + + public function sinter($key, ...$other_keys): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->sinter(...\func_get_args()); + } + + public function sintercard($keys, $limit = -1): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->sintercard(...\func_get_args()); + } + + public function sinterstore($key, ...$other_keys): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->sinterstore(...\func_get_args()); + } + + public function sismember($set, $member): \Relay\Relay|bool + { + return $this->initializeLazyObject()->sismember(...\func_get_args()); + } + + public function slowlog($operation, ...$extra_args): \Relay\Relay|array|bool|int + { + return $this->initializeLazyObject()->slowlog(...\func_get_args()); + } + + public function smembers($set): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->smembers(...\func_get_args()); + } + + public function smismember($set, ...$members): \Relay\Relay|array|false { - return $this->initializeLazyObject()->exec(...\func_get_args()); + return $this->initializeLazyObject()->smismember(...\func_get_args()); } - public function wait($replicas, $timeout): \Relay\Relay|false|int + public function smove($srcset, $dstset, $member): \Relay\Relay|bool { - return $this->initializeLazyObject()->wait(...\func_get_args()); + return $this->initializeLazyObject()->smove(...\func_get_args()); } - public function watch($key, ...$other_keys): \Relay\Relay|bool + public function socketId(): false|string { - return $this->initializeLazyObject()->watch(...\func_get_args()); + return $this->initializeLazyObject()->socketId(...\func_get_args()); } - public function unwatch(): \Relay\Relay|bool + public function sort($key, $options = []): \Relay\Relay|array|false|int { - return $this->initializeLazyObject()->unwatch(...\func_get_args()); + return $this->initializeLazyObject()->sort(...\func_get_args()); } - public function discard(): bool + public function sort_ro($key, $options = []): \Relay\Relay|array|false { - return $this->initializeLazyObject()->discard(...\func_get_args()); + return $this->initializeLazyObject()->sort_ro(...\func_get_args()); } - public function getMode($masked = false): int + public function spop($set, $count = 1): mixed { - return $this->initializeLazyObject()->getMode(...\func_get_args()); + return $this->initializeLazyObject()->spop(...\func_get_args()); } - public function clearBytes(): void + public function spublish($channel, $message): \Relay\Relay|false|int { - $this->initializeLazyObject()->clearBytes(...\func_get_args()); + return $this->initializeLazyObject()->spublish(...\func_get_args()); } - public function scan(&$iterator, $match = null, $count = 0, $type = null): array|false + public function srandmember($set, $count = 1): mixed { - return $this->initializeLazyObject()->scan($iterator, ...\array_slice(\func_get_args(), 1)); + return $this->initializeLazyObject()->srandmember(...\func_get_args()); } - public function hscan($key, &$iterator, $match = null, $count = 0): array|false + public function srem($set, $member, ...$members): \Relay\Relay|false|int { - return $this->initializeLazyObject()->hscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + return $this->initializeLazyObject()->srem(...\func_get_args()); } public function sscan($key, &$iterator, $match = null, $count = 0): array|false @@ -965,94 +1338,94 @@ public function sscan($key, &$iterator, $match = null, $count = 0): array|false return $this->initializeLazyObject()->sscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); } - public function zscan($key, &$iterator, $match = null, $count = 0): array|false + public function ssubscribe($channels, $callback): bool { - return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + return $this->initializeLazyObject()->ssubscribe(...\func_get_args()); } - public function keys($pattern): \Relay\Relay|array|false + public function strlen($key): \Relay\Relay|false|int { - return $this->initializeLazyObject()->keys(...\func_get_args()); + return $this->initializeLazyObject()->strlen(...\func_get_args()); } - public function slowlog($operation, ...$extra_args): \Relay\Relay|array|bool|int + public function subscribe($channels, $callback): bool { - return $this->initializeLazyObject()->slowlog(...\func_get_args()); + return $this->initializeLazyObject()->subscribe(...\func_get_args()); } - public function smembers($set): \Relay\Relay|array|false + public function sunion($key, ...$other_keys): \Relay\Relay|array|false { - return $this->initializeLazyObject()->smembers(...\func_get_args()); + return $this->initializeLazyObject()->sunion(...\func_get_args()); } - public function sismember($set, $member): \Relay\Relay|bool + public function sunionstore($key, ...$other_keys): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sismember(...\func_get_args()); + return $this->initializeLazyObject()->sunionstore(...\func_get_args()); } - public function smismember($set, ...$members): \Relay\Relay|array|false + public function sunsubscribe($channels = []): bool { - return $this->initializeLazyObject()->smismember(...\func_get_args()); + return $this->initializeLazyObject()->sunsubscribe(...\func_get_args()); } - public function srem($set, $member, ...$members): \Relay\Relay|false|int + public function swapdb($index1, $index2): \Relay\Relay|bool { - return $this->initializeLazyObject()->srem(...\func_get_args()); + return $this->initializeLazyObject()->swapdb(...\func_get_args()); } - public function sadd($set, $member, ...$members): \Relay\Relay|false|int + public function time(): \Relay\Relay|array|false { - return $this->initializeLazyObject()->sadd(...\func_get_args()); + return $this->initializeLazyObject()->time(...\func_get_args()); } - public function sort($key, $options = []): \Relay\Relay|array|false|int + public function timeout(): false|float { - return $this->initializeLazyObject()->sort(...\func_get_args()); + return $this->initializeLazyObject()->timeout(...\func_get_args()); } - public function sort_ro($key, $options = []): \Relay\Relay|array|false + public function touch($key_or_array, ...$more_keys): \Relay\Relay|false|int { - return $this->initializeLazyObject()->sort_ro(...\func_get_args()); + return $this->initializeLazyObject()->touch(...\func_get_args()); } - public function smove($srcset, $dstset, $member): \Relay\Relay|bool + public function ttl($key): \Relay\Relay|false|int { - return $this->initializeLazyObject()->smove(...\func_get_args()); + return $this->initializeLazyObject()->ttl(...\func_get_args()); } - public function spop($set, $count = 1): mixed + public function type($key): \Relay\Relay|bool|int|string { - return $this->initializeLazyObject()->spop(...\func_get_args()); + return $this->initializeLazyObject()->type(...\func_get_args()); } - public function srandmember($set, $count = 1): mixed + public function unlink(...$keys): \Relay\Relay|false|int { - return $this->initializeLazyObject()->srandmember(...\func_get_args()); + return $this->initializeLazyObject()->unlink(...\func_get_args()); } - public function scard($key): \Relay\Relay|false|int + public function unsubscribe($channels = []): bool { - return $this->initializeLazyObject()->scard(...\func_get_args()); + return $this->initializeLazyObject()->unsubscribe(...\func_get_args()); } - public function script($command, ...$args): mixed + public function unwatch(): \Relay\Relay|bool { - return $this->initializeLazyObject()->script(...\func_get_args()); + return $this->initializeLazyObject()->unwatch(...\func_get_args()); } - public function strlen($key): \Relay\Relay|false|int + public function wait($replicas, $timeout): \Relay\Relay|false|int { - return $this->initializeLazyObject()->strlen(...\func_get_args()); + return $this->initializeLazyObject()->wait(...\func_get_args()); } - public function hlen($key): \Relay\Relay|false|int + public function waitaof($numlocal, $numremote, $timeout): \Relay\Relay|array|false { - return $this->initializeLazyObject()->hlen(...\func_get_args()); + return $this->initializeLazyObject()->waitaof(...\func_get_args()); } - public function llen($key): \Relay\Relay|false|int + public function watch($key, ...$other_keys): \Relay\Relay|bool { - return $this->initializeLazyObject()->llen(...\func_get_args()); + return $this->initializeLazyObject()->watch(...\func_get_args()); } public function xack($key, $group, $ids): \Relay\Relay|false|int @@ -1060,9 +1433,9 @@ public function xack($key, $group, $ids): \Relay\Relay|false|int return $this->initializeLazyObject()->xack(...\func_get_args()); } - public function xclaim($key, $group, $consumer, $min_idle, $ids, $options): \Relay\Relay|array|bool + public function xadd($key, $id, $values, $maxlen = 0, $approx = false, $nomkstream = false): \Relay\Relay|false|null|string { - return $this->initializeLazyObject()->xclaim(...\func_get_args()); + return $this->initializeLazyObject()->xadd(...\func_get_args()); } public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = -1, $justid = false): \Relay\Relay|array|bool @@ -1070,19 +1443,19 @@ public function xautoclaim($key, $group, $consumer, $min_idle, $start, $count = return $this->initializeLazyObject()->xautoclaim(...\func_get_args()); } - public function xlen($key): \Relay\Relay|false|int + public function xclaim($key, $group, $consumer, $min_idle, $ids, $options): \Relay\Relay|array|bool { - return $this->initializeLazyObject()->xlen(...\func_get_args()); + return $this->initializeLazyObject()->xclaim(...\func_get_args()); } - public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed + public function xdel($key, $ids): \Relay\Relay|false|int { - return $this->initializeLazyObject()->xgroup(...\func_get_args()); + return $this->initializeLazyObject()->xdel(...\func_get_args()); } - public function xdel($key, $ids): \Relay\Relay|false|int + public function xgroup($operation, $key = null, $group = null, $id_or_consumer = null, $mkstream = false, $entries_read = -2): mixed { - return $this->initializeLazyObject()->xdel(...\func_get_args()); + return $this->initializeLazyObject()->xgroup(...\func_get_args()); } public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixed @@ -1090,6 +1463,11 @@ public function xinfo($operation, $arg1 = null, $arg2 = null, $count = -1): mixe return $this->initializeLazyObject()->xinfo(...\func_get_args()); } + public function xlen($key): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->xlen(...\func_get_args()); + } + public function xpending($key, $group, $start = null, $end = null, $count = -1, $consumer = null, $idle = 0): \Relay\Relay|array|false { return $this->initializeLazyObject()->xpending(...\func_get_args()); @@ -1100,11 +1478,6 @@ public function xrange($key, $start, $end, $count = -1): \Relay\Relay|array|fals return $this->initializeLazyObject()->xrange(...\func_get_args()); } - public function xrevrange($key, $end, $start, $count = -1): \Relay\Relay|array|bool - { - return $this->initializeLazyObject()->xrevrange(...\func_get_args()); - } - public function xread($streams, $count = -1, $block = -1): \Relay\Relay|array|bool|null { return $this->initializeLazyObject()->xread(...\func_get_args()); @@ -1115,6 +1488,11 @@ public function xreadgroup($group, $consumer, $streams, $count = 1, $block = 1): return $this->initializeLazyObject()->xreadgroup(...\func_get_args()); } + public function xrevrange($key, $end, $start, $count = -1): \Relay\Relay|array|bool + { + return $this->initializeLazyObject()->xrevrange(...\func_get_args()); + } + public function xtrim($key, $threshold, $approx = false, $minid = false, $limit = -1): \Relay\Relay|false|int { return $this->initializeLazyObject()->xtrim(...\func_get_args()); @@ -1125,138 +1503,158 @@ public function zadd($key, ...$args): mixed return $this->initializeLazyObject()->zadd(...\func_get_args()); } - public function zrandmember($key, $options = null): mixed + public function zcard($key): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrandmember(...\func_get_args()); + return $this->initializeLazyObject()->zcard(...\func_get_args()); } - public function zrange($key, $start, $end, $options = null): \Relay\Relay|array|false + public function zcount($key, $min, $max): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrange(...\func_get_args()); + return $this->initializeLazyObject()->zcount(...\func_get_args()); } - public function zrevrange($key, $start, $end, $options = null): \Relay\Relay|array|false + public function zdiff($keys, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zrevrange(...\func_get_args()); + return $this->initializeLazyObject()->zdiff(...\func_get_args()); } - public function zrangebyscore($key, $start, $end, $options = null): \Relay\Relay|array|false + public function zdiffstore($dst, $keys): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); } - public function zrevrangebyscore($key, $start, $end, $options = null): \Relay\Relay|array|false + public function zincrby($key, $score, $mem): \Relay\Relay|false|float { - return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zincrby(...\func_get_args()); } - public function zrangestore($dst, $src, $start, $end, $options = null): \Relay\Relay|false|int + public function zinter($keys, $weights = null, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zrangestore(...\func_get_args()); + return $this->initializeLazyObject()->zinter(...\func_get_args()); } - public function zrangebylex($key, $min, $max, $offset = -1, $count = -1): \Relay\Relay|array|false + public function zintercard($keys, $limit = -1): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zintercard(...\func_get_args()); } - public function zrevrangebylex($key, $max, $min, $offset = -1, $count = -1): \Relay\Relay|array|false + public function zinterstore($dst, $keys, $weights = null, $options = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zinterstore(...\func_get_args()); } - public function zrem($key, ...$args): \Relay\Relay|false|int + public function zlexcount($key, $min, $max): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zrem(...\func_get_args()); + return $this->initializeLazyObject()->zlexcount(...\func_get_args()); } - public function zremrangebylex($key, $min, $max): \Relay\Relay|false|int + public function zmpop($keys, $from, $count = 1): \Relay\Relay|array|false|null { - return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); + return $this->initializeLazyObject()->zmpop(...\func_get_args()); } - public function zremrangebyrank($key, $start, $end): \Relay\Relay|false|int + public function zmscore($key, ...$mems): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); + return $this->initializeLazyObject()->zmscore(...\func_get_args()); } - public function zremrangebyscore($key, $min, $max): \Relay\Relay|false|int + public function zpopmax($key, $count = 1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); + return $this->initializeLazyObject()->zpopmax(...\func_get_args()); } - public function zcard($key): \Relay\Relay|false|int + public function zpopmin($key, $count = 1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zcard(...\func_get_args()); + return $this->initializeLazyObject()->zpopmin(...\func_get_args()); } - public function zcount($key, $min, $max): \Relay\Relay|false|int + public function zrandmember($key, $options = null): mixed { - return $this->initializeLazyObject()->zcount(...\func_get_args()); + return $this->initializeLazyObject()->zrandmember(...\func_get_args()); } - public function zdiff($keys, $options = null): \Relay\Relay|array|false + public function zrange($key, $start, $end, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zdiff(...\func_get_args()); + return $this->initializeLazyObject()->zrange(...\func_get_args()); } - public function zdiffstore($dst, $keys): \Relay\Relay|false|int + public function zrangebylex($key, $min, $max, $offset = -1, $count = -1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zdiffstore(...\func_get_args()); + return $this->initializeLazyObject()->zrangebylex(...\func_get_args()); } - public function zincrby($key, $score, $mem): \Relay\Relay|false|float + public function zrangebyscore($key, $start, $end, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zincrby(...\func_get_args()); + return $this->initializeLazyObject()->zrangebyscore(...\func_get_args()); } - public function zlexcount($key, $min, $max): \Relay\Relay|false|int + public function zrangestore($dst, $src, $start, $end, $options = null): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zlexcount(...\func_get_args()); + return $this->initializeLazyObject()->zrangestore(...\func_get_args()); } - public function zmscore($key, ...$mems): \Relay\Relay|array|false + public function zrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null { - return $this->initializeLazyObject()->zmscore(...\func_get_args()); + return $this->initializeLazyObject()->zrank(...\func_get_args()); } - public function zinter($keys, $weights = null, $options = null): \Relay\Relay|array|false + public function zrem($key, ...$args): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zinter(...\func_get_args()); + return $this->initializeLazyObject()->zrem(...\func_get_args()); } - public function zintercard($keys, $limit = -1): \Relay\Relay|false|int + public function zremrangebylex($key, $min, $max): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zintercard(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebylex(...\func_get_args()); } - public function zinterstore($dst, $keys, $weights = null, $options = null): \Relay\Relay|false|int + public function zremrangebyrank($key, $start, $end): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zinterstore(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebyrank(...\func_get_args()); } - public function zunion($keys, $weights = null, $options = null): \Relay\Relay|array|false + public function zremrangebyscore($key, $min, $max): \Relay\Relay|false|int { - return $this->initializeLazyObject()->zunion(...\func_get_args()); + return $this->initializeLazyObject()->zremrangebyscore(...\func_get_args()); } - public function zunionstore($dst, $keys, $weights = null, $options = null): \Relay\Relay|false|int + public function zrevrange($key, $start, $end, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zunionstore(...\func_get_args()); + return $this->initializeLazyObject()->zrevrange(...\func_get_args()); } - public function zpopmin($key, $count = 1): \Relay\Relay|array|false + public function zrevrangebylex($key, $max, $min, $offset = -1, $count = -1): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zpopmin(...\func_get_args()); + return $this->initializeLazyObject()->zrevrangebylex(...\func_get_args()); } - public function zpopmax($key, $count = 1): \Relay\Relay|array|false + public function zrevrangebyscore($key, $start, $end, $options = null): \Relay\Relay|array|false { - return $this->initializeLazyObject()->zpopmax(...\func_get_args()); + return $this->initializeLazyObject()->zrevrangebyscore(...\func_get_args()); } - public function _getKeys() + public function zrevrank($key, $rank, $withscore = false): \Relay\Relay|array|false|int|null { - return $this->initializeLazyObject()->_getKeys(...\func_get_args()); + return $this->initializeLazyObject()->zrevrank(...\func_get_args()); + } + + public function zscan($key, &$iterator, $match = null, $count = 0): array|false + { + return $this->initializeLazyObject()->zscan($key, $iterator, ...\array_slice(\func_get_args(), 2)); + } + + public function zscore($key, $member): \Relay\Relay|false|float|null + { + return $this->initializeLazyObject()->zscore(...\func_get_args()); + } + + public function zunion($keys, $weights = null, $options = null): \Relay\Relay|array|false + { + return $this->initializeLazyObject()->zunion(...\func_get_args()); + } + + public function zunionstore($dst, $keys, $weights = null, $options = null): \Relay\Relay|false|int + { + return $this->initializeLazyObject()->zunionstore(...\func_get_args()); } } diff --git a/composer.json b/composer.json index d56cec5..6f24729 100644 --- a/composer.json +++ b/composer.json @@ -43,6 +43,8 @@ "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "conflict": { + "ext-redis": "<6.2", + "ext-relay": "<0.11", "doctrine/dbal": "<3.6", "symfony/dependency-injection": "<6.4", "symfony/http-kernel": "<6.4", From 50fc57ce6421af7ed9f22c9060bf9af0d297b1a9 Mon Sep 17 00:00:00 2001 From: "a.dmitryuk" Date: Tue, 15 Jul 2025 18:59:44 +0700 Subject: [PATCH 06/18] [Cache] Add `TagAwareAdapterInterface` to `NullAdapter` --- Adapter/NullAdapter.php | 7 ++++++- Tests/Adapter/NullAdapterTest.php | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Adapter/NullAdapter.php b/Adapter/NullAdapter.php index 35553ea..c38326f 100644 --- a/Adapter/NullAdapter.php +++ b/Adapter/NullAdapter.php @@ -19,7 +19,7 @@ /** * @author Titouan Galopin */ -class NullAdapter implements AdapterInterface, CacheInterface, NamespacedPoolInterface +class NullAdapter implements AdapterInterface, CacheInterface, NamespacedPoolInterface, TagAwareAdapterInterface { private static \Closure $createCacheItem; @@ -108,4 +108,9 @@ private function generateItems(array $keys): \Generator yield $key => $f($key); } } + + public function invalidateTags(array $tags): bool + { + return true; + } } diff --git a/Tests/Adapter/NullAdapterTest.php b/Tests/Adapter/NullAdapterTest.php index 8a79257..a3b73bd 100644 --- a/Tests/Adapter/NullAdapterTest.php +++ b/Tests/Adapter/NullAdapterTest.php @@ -138,4 +138,11 @@ public function testCommit() $this->assertTrue($adapter->saveDeferred($item)); $this->assertTrue($this->createCachePool()->commit()); } + + public function testInvalidateTags() + { + $adapter = $this->createCachePool(); + + self::assertTrue($adapter->invalidateTags(['foo'])); + } } From 6721168ef4a6b074f5bb2dae3bceea9a4b985dcd Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 17 Jul 2025 19:03:41 +0200 Subject: [PATCH 07/18] Remove legacy code paths that rely on feature checks --- Adapter/DoctrineDbalAdapter.php | 15 ++------------- Tests/Adapter/DoctrineDbalAdapterTest.php | 3 --- composer.json | 4 ++-- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/Adapter/DoctrineDbalAdapter.php b/Adapter/DoctrineDbalAdapter.php index 8e52dfe..8bbd7f7 100644 --- a/Adapter/DoctrineDbalAdapter.php +++ b/Adapter/DoctrineDbalAdapter.php @@ -359,16 +359,9 @@ private function getPlatformName(): string $platform = $this->conn->getDatabasePlatform(); - if (interface_exists(DBALException::class)) { - // DBAL 4+ - $sqlitePlatformClass = 'Doctrine\DBAL\Platforms\SQLitePlatform'; - } else { - $sqlitePlatformClass = 'Doctrine\DBAL\Platforms\SqlitePlatform'; - } - return $this->platformName = match (true) { $platform instanceof \Doctrine\DBAL\Platforms\AbstractMySQLPlatform => 'mysql', - $platform instanceof $sqlitePlatformClass => 'sqlite', + $platform instanceof \Doctrine\DBAL\Platforms\SQLitePlatform => 'sqlite', $platform instanceof \Doctrine\DBAL\Platforms\PostgreSQLPlatform => 'pgsql', $platform instanceof \Doctrine\DBAL\Platforms\OraclePlatform => 'oci', $platform instanceof \Doctrine\DBAL\Platforms\SQLServerPlatform => 'sqlsrv', @@ -389,10 +382,6 @@ private function addTableToSchema(Schema $schema): void $table->addColumn($this->lifetimeCol, 'integer', ['unsigned' => true, 'notnull' => false]); $table->addColumn($this->timeCol, 'integer', ['unsigned' => true]); - if (class_exists(PrimaryKeyConstraint::class)) { - $table->addPrimaryKeyConstraint(new PrimaryKeyConstraint(null, [new UnqualifiedName(Identifier::unquoted($this->idCol))], true)); - } else { - $table->setPrimaryKey([$this->idCol]); - } + $table->addPrimaryKeyConstraint(new PrimaryKeyConstraint(null, [new UnqualifiedName(Identifier::unquoted($this->idCol))], true)); } } diff --git a/Tests/Adapter/DoctrineDbalAdapterTest.php b/Tests/Adapter/DoctrineDbalAdapterTest.php index db20b0f..6b6abd1 100644 --- a/Tests/Adapter/DoctrineDbalAdapterTest.php +++ b/Tests/Adapter/DoctrineDbalAdapterTest.php @@ -54,9 +54,6 @@ public function testConfigureSchemaDecoratedDbalDriver() } $connection = DriverManager::getConnection(['driver' => 'pdo_sqlite', 'path' => self::$dbFile], $this->getDbalConfig()); - if (!interface_exists(Middleware::class)) { - $this->markTestSkipped('doctrine/dbal v2 does not support custom drivers using middleware'); - } $middleware = $this->createMock(Middleware::class); $middleware diff --git a/composer.json b/composer.json index b8d0fce..d5852eb 100644 --- a/composer.json +++ b/composer.json @@ -30,7 +30,7 @@ }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^3.6|^4", + "doctrine/dbal": "^4.3", "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", "symfony/clock": "^7.4|^8.0", @@ -44,7 +44,7 @@ "conflict": { "ext-redis": "<6.2", "ext-relay": "<0.11", - "doctrine/dbal": "<3.6" + "doctrine/dbal": "<4.3" }, "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, From d9099ca867330c156be8254e48e2ead1283dfb74 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Wed, 23 Jul 2025 13:07:08 +0200 Subject: [PATCH 08/18] fix compatibility with Relay 0.11.1 --- Traits/RelayProxy.php | 5 +++++ composer.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Traits/RelayProxy.php b/Traits/RelayProxy.php index 2e29362..848407f 100644 --- a/Traits/RelayProxy.php +++ b/Traits/RelayProxy.php @@ -778,6 +778,11 @@ public function isConnected(): bool return $this->initializeLazyObject()->isConnected(...\func_get_args()); } + public function isTracked($key): bool + { + return $this->initializeLazyObject()->isTracked(...\func_get_args()); + } + public function jsonArrAppend($key, $value_or_array, $path = null): \Relay\Relay|array|false { return $this->initializeLazyObject()->jsonArrAppend(...\func_get_args()); diff --git a/composer.json b/composer.json index 6f24729..8d0a10a 100644 --- a/composer.json +++ b/composer.json @@ -44,7 +44,7 @@ }, "conflict": { "ext-redis": "<6.2", - "ext-relay": "<0.11", + "ext-relay": "<0.11.1", "doctrine/dbal": "<3.6", "symfony/dependency-injection": "<6.4", "symfony/http-kernel": "<6.4", From f428a7e796b72fe9da22a4f8de4df48da70d737a Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Wed, 9 Oct 2024 11:06:51 +0200 Subject: [PATCH 09/18] run tests using PHPUnit 11.5 --- Tests/Adapter/CouchbaseBucketAdapterTest.php | 16 +++++------ phpunit.xml.dist | 29 ++++++-------------- 2 files changed, 17 insertions(+), 28 deletions(-) diff --git a/Tests/Adapter/CouchbaseBucketAdapterTest.php b/Tests/Adapter/CouchbaseBucketAdapterTest.php index 35c1591..7737d79 100644 --- a/Tests/Adapter/CouchbaseBucketAdapterTest.php +++ b/Tests/Adapter/CouchbaseBucketAdapterTest.php @@ -11,23 +11,23 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\IgnoreDeprecations; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; -use Symfony\Bridge\PhpUnit\ExpectUserDeprecationMessageTrait; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\CouchbaseBucketAdapter; /** - * @requires extension couchbase <3.0.0 - * @requires extension couchbase >=2.6.0 - * - * @group legacy integration - * * @author Antonio Jose Cerezo Aranda */ +#[Group('integration')] +#[Group('legacy')] +#[IgnoreDeprecations] +#[RequiresPhpExtension('couchbase', '<3.0.0')] +#[RequiresPhpExtension('couchbase', '>=2.6.0')] class CouchbaseBucketAdapterTest extends AdapterTestCase { - use ExpectUserDeprecationMessageTrait; - protected $skippedTests = [ 'testClearPrefix' => 'Couchbase cannot clear by prefix', ]; diff --git a/phpunit.xml.dist b/phpunit.xml.dist index fb7c080..b3d6d81 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,10 +1,11 @@ @@ -24,7 +25,7 @@ - + ./ @@ -32,23 +33,11 @@ ./Tests ./vendor - + - - - - - - - Cache\IntegrationTests - Symfony\Component\Cache - Symfony\Component\Cache\Tests\Fixtures - Symfony\Component\Cache\Tests\Traits - Symfony\Component\Cache\Traits - - - - - - + + + + + From bcb786851df77623db225a2e5b0d86019b29d31c Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Thu, 31 Jul 2025 14:36:46 +0200 Subject: [PATCH 10/18] replace PHPUnit annotations with attributes --- .../Adapter/AbstractRedisAdapterTestCase.php | 5 ++-- Tests/Adapter/ArrayAdapterTest.php | 5 ++-- Tests/Adapter/ChainAdapterTest.php | 4 +-- .../CouchbaseCollectionAdapterTest.php | 10 +++---- Tests/Adapter/DoctrineDbalAdapterTest.php | 21 ++++++--------- Tests/Adapter/FilesystemAdapterTest.php | 5 ++-- .../Adapter/FilesystemTagAwareAdapterTest.php | 5 ++-- Tests/Adapter/MemcachedAdapterTest.php | 23 ++++++---------- Tests/Adapter/NamespacedProxyAdapterTest.php | 5 ++-- Tests/Adapter/NullAdapterTest.php | 5 ++-- Tests/Adapter/PdoAdapterTest.php | 21 ++++++--------- Tests/Adapter/PhpArrayAdapterTest.php | 5 ++-- .../PhpArrayAdapterWithFallbackTest.php | 5 ++-- .../Adapter/PhpFilesAdapterAppendOnlyTest.php | 5 ++-- Tests/Adapter/PhpFilesAdapterTest.php | 5 ++-- Tests/Adapter/PredisAdapterSentinelTest.php | 5 ++-- Tests/Adapter/PredisAdapterTest.php | 5 ++-- Tests/Adapter/PredisClusterAdapterTest.php | 6 ++--- .../Adapter/PredisRedisClusterAdapterTest.php | 5 ++-- .../PredisRedisReplicationAdapterTest.php | 5 ++-- .../Adapter/PredisReplicationAdapterTest.php | 6 ++--- Tests/Adapter/PredisTagAwareAdapterTest.php | 5 ++-- .../PredisTagAwareClusterAdapterTest.php | 5 ++-- .../ProxyAdapterAndRedisAdapterTest.php | 5 ++-- Tests/Adapter/ProxyAdapterTest.php | 5 ++-- Tests/Adapter/Psr16AdapterTest.php | 5 ++-- Tests/Adapter/RedisAdapterSentinelTest.php | 5 ++-- Tests/Adapter/RedisAdapterTest.php | 14 ++++------ Tests/Adapter/RedisArrayAdapterTest.php | 6 ++--- Tests/Adapter/RedisClusterAdapterTest.php | 10 +++---- Tests/Adapter/RedisTagAwareAdapterTest.php | 5 ++-- .../Adapter/RedisTagAwareArrayAdapterTest.php | 5 ++-- .../RedisTagAwareClusterAdapterTest.php | 5 ++-- .../RedisTagAwareRelayClusterAdapterTest.php | 9 +++---- Tests/Adapter/RelayAdapterSentinelTest.php | 5 ++-- Tests/Adapter/RelayAdapterTest.php | 9 +++---- Tests/Adapter/RelayClusterAdapterTest.php | 14 +++++----- Tests/Adapter/TagAwareAdapterTest.php | 26 ++++++------------- ...TagAwareAndProxyAdapterIntegrationTest.php | 5 ++-- Tests/Adapter/TraceableAdapterTest.php | 5 ++-- .../Adapter/TraceableTagAwareAdapterTest.php | 5 ++-- Tests/CacheItemTest.php | 9 +++---- Tests/Marshaller/DefaultMarshallerTest.php | 17 ++++-------- Tests/Marshaller/DeflateMarshallerTest.php | 5 ++-- Tests/Marshaller/SodiumMarshallerTest.php | 5 ++-- .../Messenger/EarlyExpirationHandlerTest.php | 5 ++-- Tests/Psr16CacheTest.php | 5 ++-- Tests/Psr16CacheWithExternalAdapter.php | 5 ++-- Tests/Traits/RedisProxiesTest.php | 19 +++++--------- Tests/Traits/RedisTraitTest.php | 22 ++++++---------- 50 files changed, 158 insertions(+), 248 deletions(-) diff --git a/Tests/Adapter/AbstractRedisAdapterTestCase.php b/Tests/Adapter/AbstractRedisAdapterTestCase.php index c139cc9..699fb17 100644 --- a/Tests/Adapter/AbstractRedisAdapterTestCase.php +++ b/Tests/Adapter/AbstractRedisAdapterTestCase.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\RunInSeparateProcess; use Psr\Cache\CacheItemPoolInterface; use Relay\Cluster as RelayCluster; use Relay\Relay; @@ -43,9 +44,7 @@ public static function setUpBeforeClass(): void } } - /** - * @runInSeparateProcess - */ + #[RunInSeparateProcess] public function testClearWithPrefix() { $cache = $this->createCachePool(0, __FUNCTION__); diff --git a/Tests/Adapter/ArrayAdapterTest.php b/Tests/Adapter/ArrayAdapterTest.php index 7a22344..0c75011 100644 --- a/Tests/Adapter/ArrayAdapterTest.php +++ b/Tests/Adapter/ArrayAdapterTest.php @@ -11,14 +11,13 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Cache\Tests\Fixtures\TestEnum; use Symfony\Component\Clock\MockClock; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class ArrayAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/ChainAdapterTest.php b/Tests/Adapter/ChainAdapterTest.php index 6f849a6..f9a9cea 100644 --- a/Tests/Adapter/ChainAdapterTest.php +++ b/Tests/Adapter/ChainAdapterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AdapterInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; @@ -25,9 +26,8 @@ /** * @author Kévin Dunglas - * - * @group time-sensitive */ +#[Group('time-sensitive')] class ChainAdapterTest extends AdapterTestCase { public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface diff --git a/Tests/Adapter/CouchbaseCollectionAdapterTest.php b/Tests/Adapter/CouchbaseCollectionAdapterTest.php index 0e94de2..232e095 100644 --- a/Tests/Adapter/CouchbaseCollectionAdapterTest.php +++ b/Tests/Adapter/CouchbaseCollectionAdapterTest.php @@ -11,18 +11,18 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\CouchbaseCollectionAdapter; /** - * @requires extension couchbase <4.0.0 - * @requires extension couchbase >=3.0.5 - * - * @group integration - * * @author Antonio Jose Cerezo Aranda */ +#[RequiresPhpExtension('couchbase', '<4.0.0')] +#[RequiresPhpExtension('couchbase', '>=3.0.5')] +#[Group('integration')] class CouchbaseCollectionAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/DoctrineDbalAdapterTest.php b/Tests/Adapter/DoctrineDbalAdapterTest.php index db20b0f..2789528 100644 --- a/Tests/Adapter/DoctrineDbalAdapterTest.php +++ b/Tests/Adapter/DoctrineDbalAdapterTest.php @@ -19,15 +19,15 @@ use Doctrine\DBAL\DriverManager; use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Schema; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use PHPUnit\Framework\MockObject\MockObject; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\DoctrineDbalAdapter; -/** - * @requires extension pdo_sqlite - * - * @group time-sensitive - */ +#[RequiresPhpExtension('pdo_sqlite')] +#[Group('time-sensitive')] class DoctrineDbalAdapterTest extends AdapterTestCase { protected static string $dbFile; @@ -120,9 +120,7 @@ public function testConfigureSchemaTableExists() $this->assertSame([], $table->getColumns(), 'The table was not overwritten'); } - /** - * @dataProvider provideDsnWithSQLite - */ + #[DataProvider('provideDsnWithSQLite')] public function testDsnWithSQLite(string $dsn, ?string $file = null) { try { @@ -146,11 +144,8 @@ public static function provideDsnWithSQLite() yield 'SQLite in memory' => ['sqlite://localhost/:memory:']; } - /** - * @requires extension pdo_pgsql - * - * @group integration - */ + #[RequiresPhpExtension('pdo_pgsql')] + #[Group('integration')] public function testDsnWithPostgreSQL() { if (!$host = getenv('POSTGRES_HOST')) { diff --git a/Tests/Adapter/FilesystemAdapterTest.php b/Tests/Adapter/FilesystemAdapterTest.php index 848d164..71ae8d1 100644 --- a/Tests/Adapter/FilesystemAdapterTest.php +++ b/Tests/Adapter/FilesystemAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Filesystem\Filesystem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class FilesystemAdapterTest extends AdapterTestCase { public function createCachePool(int $defaultLifetime = 0): CacheItemPoolInterface diff --git a/Tests/Adapter/FilesystemTagAwareAdapterTest.php b/Tests/Adapter/FilesystemTagAwareAdapterTest.php index 393210e..4c0cd46 100644 --- a/Tests/Adapter/FilesystemTagAwareAdapterTest.php +++ b/Tests/Adapter/FilesystemTagAwareAdapterTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\FilesystemTagAwareAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class FilesystemTagAwareAdapterTest extends FilesystemAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/MemcachedAdapterTest.php b/Tests/Adapter/MemcachedAdapterTest.php index cf0e687..7eff813 100644 --- a/Tests/Adapter/MemcachedAdapterTest.php +++ b/Tests/Adapter/MemcachedAdapterTest.php @@ -11,14 +11,15 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\MemcachedAdapter; use Symfony\Component\Cache\Exception\CacheException; -/** - * @group integration - */ +#[Group('integration')] class MemcachedAdapterTest extends AdapterTestCase { protected $skippedTests = [ @@ -67,9 +68,7 @@ public function testOptions() $this->assertSame(\Memcached::DISTRIBUTION_MODULA, $client->getOption(\Memcached::OPT_DISTRIBUTION)); } - /** - * @dataProvider provideBadOptions - */ + #[DataProvider('provideBadOptions')] public function testBadOptions($name, $value) { $this->expectException(\Error::class); @@ -111,9 +110,7 @@ public function testOptionSerializer() new MemcachedAdapter(MemcachedAdapter::createConnection([], ['serializer' => 'json'])); } - /** - * @dataProvider provideServersSetting - */ + #[DataProvider('provideServersSetting')] public function testServersSetting(string $dsn, string $host, int $port) { $client1 = MemcachedAdapter::createConnection($dsn); @@ -168,9 +165,7 @@ public static function provideServersSetting(): iterable } } - /** - * @requires extension memcached - */ + #[RequiresPhpExtension('memcached')] public function testOptionsFromDsnWinOverAdditionallyPassedOptions() { $client = MemcachedAdapter::createConnection('memcached://localhost:11222?retry_timeout=10', [ @@ -180,9 +175,7 @@ public function testOptionsFromDsnWinOverAdditionallyPassedOptions() $this->assertSame(10, $client->getOption(\Memcached::OPT_RETRY_TIMEOUT)); } - /** - * @requires extension memcached - */ + #[RequiresPhpExtension('memcached')] public function testOptionsFromDsnAndAdditionallyPassedOptionsAreMerged() { $client = MemcachedAdapter::createConnection('memcached://localhost:11222?socket_recv_size=1&socket_send_size=2', [ diff --git a/Tests/Adapter/NamespacedProxyAdapterTest.php b/Tests/Adapter/NamespacedProxyAdapterTest.php index 4e6ebed..ef189bd 100644 --- a/Tests/Adapter/NamespacedProxyAdapterTest.php +++ b/Tests/Adapter/NamespacedProxyAdapterTest.php @@ -11,14 +11,13 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\ProxyAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class NamespacedProxyAdapterTest extends ProxyAdapterTest { public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = null): CacheItemPoolInterface diff --git a/Tests/Adapter/NullAdapterTest.php b/Tests/Adapter/NullAdapterTest.php index a3b73bd..2261160 100644 --- a/Tests/Adapter/NullAdapterTest.php +++ b/Tests/Adapter/NullAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use PHPUnit\Framework\TestCase; use Psr\Cache\CacheItemInterface; use Symfony\Component\Cache\Adapter\NullAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class NullAdapterTest extends TestCase { public function createCachePool() diff --git a/Tests/Adapter/PdoAdapterTest.php b/Tests/Adapter/PdoAdapterTest.php index 49f3da8..c2ed0d6 100644 --- a/Tests/Adapter/PdoAdapterTest.php +++ b/Tests/Adapter/PdoAdapterTest.php @@ -11,15 +11,15 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\PdoAdapter; -/** - * @requires extension pdo_sqlite - * - * @group time-sensitive - */ +#[RequiresPhpExtension('pdo_sqlite')] +#[Group('time-sensitive')] class PdoAdapterTest extends AdapterTestCase { protected static string $dbFile; @@ -76,9 +76,7 @@ public function testCleanupExpiredItems() $this->assertSame(0, $getCacheItemCount(), 'PDOAdapter must clean up expired items'); } - /** - * @dataProvider provideDsnSQLite - */ + #[DataProvider('provideDsnSQLite')] public function testDsnWithSQLite(string $dsn, ?string $file = null) { try { @@ -101,11 +99,8 @@ public static function provideDsnSQLite() yield 'SQLite in memory' => ['sqlite::memory:']; } - /** - * @requires extension pdo_pgsql - * - * @group integration - */ + #[RequiresPhpExtension('pdo_pgsql')] + #[Group('integration')] public function testDsnWithPostgreSQL() { if (!$host = getenv('POSTGRES_HOST')) { diff --git a/Tests/Adapter/PhpArrayAdapterTest.php b/Tests/Adapter/PhpArrayAdapterTest.php index 0c856e6..2b995d1 100644 --- a/Tests/Adapter/PhpArrayAdapterTest.php +++ b/Tests/Adapter/PhpArrayAdapterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemInterface; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; @@ -18,9 +19,7 @@ use Symfony\Component\Cache\Adapter\PhpArrayAdapter; use Symfony\Component\Filesystem\Filesystem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class PhpArrayAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php b/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php index 0f92aee..a23e7cf 100644 --- a/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php +++ b/Tests/Adapter/PhpArrayAdapterWithFallbackTest.php @@ -11,14 +11,13 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\PhpArrayAdapter; use Symfony\Component\Filesystem\Filesystem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class PhpArrayAdapterWithFallbackTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/PhpFilesAdapterAppendOnlyTest.php b/Tests/Adapter/PhpFilesAdapterAppendOnlyTest.php index a38a6f9..f0e79d6 100644 --- a/Tests/Adapter/PhpFilesAdapterAppendOnlyTest.php +++ b/Tests/Adapter/PhpFilesAdapterAppendOnlyTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\PhpFilesAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class PhpFilesAdapterAppendOnlyTest extends PhpFilesAdapterTest { protected $skippedTests = [ diff --git a/Tests/Adapter/PhpFilesAdapterTest.php b/Tests/Adapter/PhpFilesAdapterTest.php index c645bbc..c0c5097 100644 --- a/Tests/Adapter/PhpFilesAdapterTest.php +++ b/Tests/Adapter/PhpFilesAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\PhpFilesAdapter; use Symfony\Component\Filesystem\Filesystem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class PhpFilesAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/PredisAdapterSentinelTest.php b/Tests/Adapter/PredisAdapterSentinelTest.php index 6c86357..24a73ac 100644 --- a/Tests/Adapter/PredisAdapterSentinelTest.php +++ b/Tests/Adapter/PredisAdapterSentinelTest.php @@ -11,11 +11,10 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Symfony\Component\Cache\Adapter\AbstractAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisAdapterSentinelTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisAdapterTest.php b/Tests/Adapter/PredisAdapterTest.php index 730bde7..e10c993 100644 --- a/Tests/Adapter/PredisAdapterTest.php +++ b/Tests/Adapter/PredisAdapterTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Predis\Connection\StreamConnection; use Symfony\Component\Cache\Adapter\RedisAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisClusterAdapterTest.php b/Tests/Adapter/PredisClusterAdapterTest.php index cfa106a..910a637 100644 --- a/Tests/Adapter/PredisClusterAdapterTest.php +++ b/Tests/Adapter/PredisClusterAdapterTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Cache\Tests\Adapter; -/** - * @group integration - */ +use PHPUnit\Framework\Attributes\Group; + +#[Group('integration')] class PredisClusterAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisRedisClusterAdapterTest.php b/Tests/Adapter/PredisRedisClusterAdapterTest.php index fb98658..0a8051f 100644 --- a/Tests/Adapter/PredisRedisClusterAdapterTest.php +++ b/Tests/Adapter/PredisRedisClusterAdapterTest.php @@ -11,11 +11,10 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Symfony\Component\Cache\Adapter\RedisAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisRedisClusterAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisRedisReplicationAdapterTest.php b/Tests/Adapter/PredisRedisReplicationAdapterTest.php index cda92af..8cc10a5 100644 --- a/Tests/Adapter/PredisRedisReplicationAdapterTest.php +++ b/Tests/Adapter/PredisRedisReplicationAdapterTest.php @@ -11,11 +11,10 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Symfony\Component\Cache\Adapter\RedisAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisRedisReplicationAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisReplicationAdapterTest.php b/Tests/Adapter/PredisReplicationAdapterTest.php index b987723..ceaf1a4 100644 --- a/Tests/Adapter/PredisReplicationAdapterTest.php +++ b/Tests/Adapter/PredisReplicationAdapterTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Cache\Tests\Adapter; -/** - * @group integration - */ +use PHPUnit\Framework\Attributes\Group; + +#[Group('integration')] class PredisReplicationAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/PredisTagAwareAdapterTest.php b/Tests/Adapter/PredisTagAwareAdapterTest.php index 0468e89..1506e40 100644 --- a/Tests/Adapter/PredisTagAwareAdapterTest.php +++ b/Tests/Adapter/PredisTagAwareAdapterTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisTagAwareAdapterTest extends PredisAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/PredisTagAwareClusterAdapterTest.php b/Tests/Adapter/PredisTagAwareClusterAdapterTest.php index 3a118dc..983fa60 100644 --- a/Tests/Adapter/PredisTagAwareClusterAdapterTest.php +++ b/Tests/Adapter/PredisTagAwareClusterAdapterTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; -/** - * @group integration - */ +#[Group('integration')] class PredisTagAwareClusterAdapterTest extends PredisClusterAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php b/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php index 4bff8c3..5e98872 100644 --- a/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php +++ b/Tests/Adapter/ProxyAdapterAndRedisAdapterTest.php @@ -11,15 +11,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\ProxyAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\CacheItem; -/** - * @group integration - */ +#[Group('integration')] class ProxyAdapterAndRedisAdapterTest extends AbstractRedisAdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/ProxyAdapterTest.php b/Tests/Adapter/ProxyAdapterTest.php index 765dd75..ceab40f 100644 --- a/Tests/Adapter/ProxyAdapterTest.php +++ b/Tests/Adapter/ProxyAdapterTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemInterface; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; @@ -18,9 +19,7 @@ use Symfony\Component\Cache\Adapter\ProxyAdapter; use Symfony\Component\Cache\CacheItem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class ProxyAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/Psr16AdapterTest.php b/Tests/Adapter/Psr16AdapterTest.php index bdd5d04..528f84b 100644 --- a/Tests/Adapter/Psr16AdapterTest.php +++ b/Tests/Adapter/Psr16AdapterTest.php @@ -11,15 +11,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\Psr16Adapter; use Symfony\Component\Cache\Psr16Cache; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class Psr16AdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/RedisAdapterSentinelTest.php b/Tests/Adapter/RedisAdapterSentinelTest.php index 9103eec..5a669ef 100644 --- a/Tests/Adapter/RedisAdapterSentinelTest.php +++ b/Tests/Adapter/RedisAdapterSentinelTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Exception\InvalidArgumentException; -/** - * @group integration - */ +#[Group('integration')] class RedisAdapterSentinelTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/RedisAdapterTest.php b/Tests/Adapter/RedisAdapterTest.php index 7b8e11e..b116c2a 100644 --- a/Tests/Adapter/RedisAdapterTest.php +++ b/Tests/Adapter/RedisAdapterTest.php @@ -11,15 +11,15 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Traits\RedisProxy; -/** - * @group integration - */ +#[Group('integration')] class RedisAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void @@ -95,9 +95,7 @@ public function testCreateTlsConnection() $this->assertInstanceOf(RedisProxy::class, $redis); } - /** - * @dataProvider provideFailedCreateConnection - */ + #[DataProvider('provideFailedCreateConnection')] public function testFailedCreateConnection(string $dsn) { $this->expectException(InvalidArgumentException::class); @@ -115,9 +113,7 @@ public static function provideFailedCreateConnection(): array ]; } - /** - * @dataProvider provideInvalidCreateConnection - */ + #[DataProvider('provideInvalidCreateConnection')] public function testInvalidCreateConnection(string $dsn) { $this->expectException(InvalidArgumentException::class); diff --git a/Tests/Adapter/RedisArrayAdapterTest.php b/Tests/Adapter/RedisArrayAdapterTest.php index 22b07e8..a8cb557 100644 --- a/Tests/Adapter/RedisArrayAdapterTest.php +++ b/Tests/Adapter/RedisArrayAdapterTest.php @@ -11,9 +11,9 @@ namespace Symfony\Component\Cache\Tests\Adapter; -/** - * @group integration - */ +use PHPUnit\Framework\Attributes\Group; + +#[Group('integration')] class RedisArrayAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/RedisClusterAdapterTest.php b/Tests/Adapter/RedisClusterAdapterTest.php index 3b7450e..319140f 100644 --- a/Tests/Adapter/RedisClusterAdapterTest.php +++ b/Tests/Adapter/RedisClusterAdapterTest.php @@ -11,15 +11,15 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Traits\RedisClusterProxy; -/** - * @group integration - */ +#[Group('integration')] class RedisClusterAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void @@ -47,9 +47,7 @@ public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = return $adapter; } - /** - * @dataProvider provideFailedCreateConnection - */ + #[DataProvider('provideFailedCreateConnection')] public function testFailedCreateConnection(string $dsn) { $this->expectException(InvalidArgumentException::class); diff --git a/Tests/Adapter/RedisTagAwareAdapterTest.php b/Tests/Adapter/RedisTagAwareAdapterTest.php index f00eb9d..3ae641d 100644 --- a/Tests/Adapter/RedisTagAwareAdapterTest.php +++ b/Tests/Adapter/RedisTagAwareAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; use Symfony\Component\Cache\Traits\RedisProxy; -/** - * @group integration - */ +#[Group('integration')] class RedisTagAwareAdapterTest extends RedisAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/RedisTagAwareArrayAdapterTest.php b/Tests/Adapter/RedisTagAwareArrayAdapterTest.php index 860709b..e0bb366 100644 --- a/Tests/Adapter/RedisTagAwareArrayAdapterTest.php +++ b/Tests/Adapter/RedisTagAwareArrayAdapterTest.php @@ -11,12 +11,11 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; -/** - * @group integration - */ +#[Group('integration')] class RedisTagAwareArrayAdapterTest extends RedisArrayAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/RedisTagAwareClusterAdapterTest.php b/Tests/Adapter/RedisTagAwareClusterAdapterTest.php index c7d143d..30c65e4 100644 --- a/Tests/Adapter/RedisTagAwareClusterAdapterTest.php +++ b/Tests/Adapter/RedisTagAwareClusterAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; use Symfony\Component\Cache\Traits\RedisClusterProxy; -/** - * @group integration - */ +#[Group('integration')] class RedisTagAwareClusterAdapterTest extends RedisClusterAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/RedisTagAwareRelayClusterAdapterTest.php b/Tests/Adapter/RedisTagAwareRelayClusterAdapterTest.php index 4939d2d..3b1ebdf 100644 --- a/Tests/Adapter/RedisTagAwareRelayClusterAdapterTest.php +++ b/Tests/Adapter/RedisTagAwareRelayClusterAdapterTest.php @@ -11,15 +11,14 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\RedisTagAwareAdapter; use Symfony\Component\Cache\Traits\RelayClusterProxy; -/** - * @requires extension relay - * - * @group integration - */ +#[RequiresPhpExtension('relay')] +#[Group('integration')] class RedisTagAwareRelayClusterAdapterTest extends RelayClusterAdapterTest { use TagAwareTestTrait; diff --git a/Tests/Adapter/RelayAdapterSentinelTest.php b/Tests/Adapter/RelayAdapterSentinelTest.php index 91a7da4..61dc1ae 100644 --- a/Tests/Adapter/RelayAdapterSentinelTest.php +++ b/Tests/Adapter/RelayAdapterSentinelTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Relay\Relay; use Relay\Sentinel; use Symfony\Component\Cache\Adapter\AbstractAdapter; -/** - * @group integration - */ +#[Group('integration')] class RelayAdapterSentinelTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/RelayAdapterTest.php b/Tests/Adapter/RelayAdapterTest.php index dde78f4..6162abd 100644 --- a/Tests/Adapter/RelayAdapterTest.php +++ b/Tests/Adapter/RelayAdapterTest.php @@ -11,17 +11,16 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Relay\Relay; use Symfony\Component\Cache\Adapter\AbstractAdapter; use Symfony\Component\Cache\Adapter\RedisAdapter; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Traits\RelayProxy; -/** - * @requires extension relay - * - * @group integration - */ +#[RequiresPhpExtension('relay')] +#[Group('integration')] class RelayAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void diff --git a/Tests/Adapter/RelayClusterAdapterTest.php b/Tests/Adapter/RelayClusterAdapterTest.php index 56363f8..b0c8264 100644 --- a/Tests/Adapter/RelayClusterAdapterTest.php +++ b/Tests/Adapter/RelayClusterAdapterTest.php @@ -11,6 +11,9 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use Psr\Cache\CacheItemPoolInterface; use Relay\Cluster as RelayCluster; use Relay\Relay; @@ -19,11 +22,8 @@ use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Traits\RelayClusterProxy; -/** - * @requires extension relay - * - * @group integration - */ +#[RequiresPhpExtension('relay')] +#[Group('integration')] class RelayClusterAdapterTest extends AbstractRedisAdapterTestCase { public static function setUpBeforeClass(): void @@ -47,9 +47,7 @@ public function createCachePool(int $defaultLifetime = 0, ?string $testMethod = return $adapter; } - /** - * @dataProvider provideFailedCreateConnection - */ + #[DataProvider('provideFailedCreateConnection')] public function testFailedCreateConnection(string $dsn) { $this->expectException(InvalidArgumentException::class); diff --git a/Tests/Adapter/TagAwareAdapterTest.php b/Tests/Adapter/TagAwareAdapterTest.php index a85ef77..58edd52 100644 --- a/Tests/Adapter/TagAwareAdapterTest.php +++ b/Tests/Adapter/TagAwareAdapterTest.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DoesNotPerformAssertions; +use PHPUnit\Framework\Attributes\Group; use PHPUnit\Framework\MockObject\MockObject; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\AdapterInterface; @@ -21,9 +23,7 @@ use Symfony\Component\Cache\Tests\Fixtures\PrunableAdapter; use Symfony\Component\Filesystem\Filesystem; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class TagAwareAdapterTest extends AdapterTestCase { use TagAwareTestTrait; @@ -128,9 +128,7 @@ private function getNonPruneableMock(): AdapterInterface&MockObject return $this->createMock(AdapterInterface::class); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testToleranceForStringsAsTagVersionsCase1() { $pool = $this->createCachePool(); @@ -145,9 +143,7 @@ public function testToleranceForStringsAsTagVersionsCase1() $pool->getItem($itemKey); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testToleranceForStringsAsTagVersionsCase2() { $pool = $this->createCachePool(); @@ -163,9 +159,7 @@ public function testToleranceForStringsAsTagVersionsCase2() $pool->hasItem($itemKey); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testToleranceForStringsAsTagVersionsCase3() { $pool = $this->createCachePool(); @@ -187,9 +181,7 @@ public function testToleranceForStringsAsTagVersionsCase3() $pool->hasItem($itemKey); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testToleranceForStringsAsTagVersionsCase4() { $pool = $this->createCachePool(); @@ -209,9 +201,7 @@ public function testToleranceForStringsAsTagVersionsCase4() $pool->getItem($itemKey); } - /** - * @doesNotPerformAssertions - */ + #[DoesNotPerformAssertions] public function testToleranceForStringsAsTagVersionsCase5() { $pool = $this->createCachePool(); diff --git a/Tests/Adapter/TagAwareAndProxyAdapterIntegrationTest.php b/Tests/Adapter/TagAwareAndProxyAdapterIntegrationTest.php index 4af199d..c666f73 100644 --- a/Tests/Adapter/TagAwareAndProxyAdapterIntegrationTest.php +++ b/Tests/Adapter/TagAwareAndProxyAdapterIntegrationTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\ArrayAdapter; @@ -20,9 +21,7 @@ class TagAwareAndProxyAdapterIntegrationTest extends TestCase { - /** - * @dataProvider dataProvider - */ + #[DataProvider('dataProvider')] public function testIntegrationUsingProxiedAdapter(CacheItemPoolInterface $proxiedAdapter) { $cache = new TagAwareAdapter(new ProxyAdapter($proxiedAdapter)); diff --git a/Tests/Adapter/TraceableAdapterTest.php b/Tests/Adapter/TraceableAdapterTest.php index 3a573dc..b2c6cf8 100644 --- a/Tests/Adapter/TraceableAdapterTest.php +++ b/Tests/Adapter/TraceableAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Psr\Cache\CacheItemPoolInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\TraceableAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class TraceableAdapterTest extends AdapterTestCase { protected $skippedTests = [ diff --git a/Tests/Adapter/TraceableTagAwareAdapterTest.php b/Tests/Adapter/TraceableTagAwareAdapterTest.php index 5cd4185..7f69c33 100644 --- a/Tests/Adapter/TraceableTagAwareAdapterTest.php +++ b/Tests/Adapter/TraceableTagAwareAdapterTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use PHPUnit\Framework\Attributes\Group; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\Adapter\TagAwareAdapter; use Symfony\Component\Cache\Adapter\TraceableTagAwareAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class TraceableTagAwareAdapterTest extends TraceableAdapterTest { public function testInvalidateTags() diff --git a/Tests/CacheItemTest.php b/Tests/CacheItemTest.php index 49ee1af..284ae43 100644 --- a/Tests/CacheItemTest.php +++ b/Tests/CacheItemTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\CacheItem; use Symfony\Component\Cache\Exception\InvalidArgumentException; @@ -24,9 +25,7 @@ public function testValidKey() $this->assertSame('foo', CacheItem::validateKey('foo')); } - /** - * @dataProvider provideInvalidKey - */ + #[DataProvider('provideInvalidKey')] public function testInvalidKey($key) { $this->expectException(InvalidArgumentException::class); @@ -71,9 +70,7 @@ public function testTag() }, $this, CacheItem::class))(); } - /** - * @dataProvider provideInvalidKey - */ + #[DataProvider('provideInvalidKey')] public function testInvalidTag($tag) { $item = new CacheItem(); diff --git a/Tests/Marshaller/DefaultMarshallerTest.php b/Tests/Marshaller/DefaultMarshallerTest.php index a5578d9..c089c06 100644 --- a/Tests/Marshaller/DefaultMarshallerTest.php +++ b/Tests/Marshaller/DefaultMarshallerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Marshaller; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; @@ -29,9 +30,7 @@ public function testSerialize() $this->assertSame(['b'], $failed); } - /** - * @requires extension igbinary - */ + #[RequiresPhpExtension('igbinary')] public function testIgbinarySerialize() { if (version_compare('3.1.6', phpversion('igbinary'), '>')) { @@ -58,9 +57,7 @@ public function testNativeUnserialize() $this->assertSame(0, $marshaller->unmarshall(serialize(0))); } - /** - * @requires extension igbinary - */ + #[RequiresPhpExtension('igbinary')] public function testIgbinaryUnserialize() { if (version_compare('3.1.6', phpversion('igbinary'), '>')) { @@ -81,9 +78,7 @@ public function testNativeUnserializeNotFoundClass() (new DefaultMarshaller())->unmarshall('O:16:"NotExistingClass":0:{}'); } - /** - * @requires extension igbinary - */ + #[RequiresPhpExtension('igbinary')] public function testIgbinaryUnserializeNotFoundClass() { if (version_compare('3.1.6', phpversion('igbinary'), '>')) { @@ -109,9 +104,7 @@ public function testNativeUnserializeInvalid() } } - /** - * @requires extension igbinary - */ + #[RequiresPhpExtension('igbinary')] public function testIgbinaryUnserializeInvalid() { if (version_compare('3.1.6', phpversion('igbinary'), '>')) { diff --git a/Tests/Marshaller/DeflateMarshallerTest.php b/Tests/Marshaller/DeflateMarshallerTest.php index 5caf5eb..aca57f0 100644 --- a/Tests/Marshaller/DeflateMarshallerTest.php +++ b/Tests/Marshaller/DeflateMarshallerTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Marshaller; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; use Symfony\Component\Cache\Marshaller\DeflateMarshaller; -/** - * @requires extension zlib - */ +#[RequiresPhpExtension('zlib')] class DeflateMarshallerTest extends TestCase { public function testMarshall() diff --git a/Tests/Marshaller/SodiumMarshallerTest.php b/Tests/Marshaller/SodiumMarshallerTest.php index e26151c..cb9027a 100644 --- a/Tests/Marshaller/SodiumMarshallerTest.php +++ b/Tests/Marshaller/SodiumMarshallerTest.php @@ -11,13 +11,12 @@ namespace Symfony\Component\Cache\Tests\Marshaller; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; use Symfony\Component\Cache\Marshaller\SodiumMarshaller; -/** - * @requires extension sodium - */ +#[RequiresPhpExtension('sodium')] class SodiumMarshallerTest extends TestCase { private string $decryptionKey; diff --git a/Tests/Messenger/EarlyExpirationHandlerTest.php b/Tests/Messenger/EarlyExpirationHandlerTest.php index 963215d..059f420 100644 --- a/Tests/Messenger/EarlyExpirationHandlerTest.php +++ b/Tests/Messenger/EarlyExpirationHandlerTest.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Messenger; +use PHPUnit\Framework\Attributes\Group; use PHPUnit\Framework\TestCase; use Psr\Cache\CacheItemInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; @@ -29,9 +30,7 @@ public static function tearDownAfterClass(): void (new Filesystem())->remove(sys_get_temp_dir().'/symfony-cache'); } - /** - * @group time-sensitive - */ + #[Group('time-sensitive')] public function testHandle() { $pool = new FilesystemAdapter(); diff --git a/Tests/Psr16CacheTest.php b/Tests/Psr16CacheTest.php index b5a1fe4..9f0d43e 100644 --- a/Tests/Psr16CacheTest.php +++ b/Tests/Psr16CacheTest.php @@ -12,14 +12,13 @@ namespace Symfony\Component\Cache\Tests; use Cache\IntegrationTests\SimpleCacheTest; +use PHPUnit\Framework\Attributes\Group; use Psr\SimpleCache\CacheInterface; use Symfony\Component\Cache\Adapter\FilesystemAdapter; use Symfony\Component\Cache\PruneableInterface; use Symfony\Component\Cache\Psr16Cache; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class Psr16CacheTest extends SimpleCacheTest { protected function setUp(): void diff --git a/Tests/Psr16CacheWithExternalAdapter.php b/Tests/Psr16CacheWithExternalAdapter.php index 39eba83..4cbbab8 100644 --- a/Tests/Psr16CacheWithExternalAdapter.php +++ b/Tests/Psr16CacheWithExternalAdapter.php @@ -12,13 +12,12 @@ namespace Symfony\Component\Cache\Tests; use Cache\IntegrationTests\SimpleCacheTest; +use PHPUnit\Framework\Attributes\Group; use Psr\SimpleCache\CacheInterface; use Symfony\Component\Cache\Psr16Cache; use Symfony\Component\Cache\Tests\Fixtures\ExternalAdapter; -/** - * @group time-sensitive - */ +#[Group('time-sensitive')] class Psr16CacheWithExternalAdapter extends SimpleCacheTest { protected function setUp(): void diff --git a/Tests/Traits/RedisProxiesTest.php b/Tests/Traits/RedisProxiesTest.php index c87814f..0a7f69c 100644 --- a/Tests/Traits/RedisProxiesTest.php +++ b/Tests/Traits/RedisProxiesTest.php @@ -11,6 +11,8 @@ namespace Symfony\Component\Cache\Tests\Traits; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; +use PHPUnit\Framework\Attributes\TestWith; use PHPUnit\Framework\TestCase; use Relay\Cluster as RelayCluster; use Relay\Relay; @@ -21,12 +23,9 @@ class RedisProxiesTest extends TestCase { - /** - * @requires extension redis - * - * @testWith ["Redis"] - * ["RedisCluster"] - */ + #[RequiresPhpExtension('redis')] + #[TestWith([\Redis::class])] + #[TestWith([\RedisCluster::class])] public function testRedisProxy($class) { $proxy = file_get_contents(\dirname(__DIR__, 2)."/Traits/{$class}Proxy.php"); @@ -75,9 +74,7 @@ public function testRedisProxy($class) $this->assertSame($expected, $proxy); } - /** - * @requires extension relay - */ + #[RequiresPhpExtension('relay')] public function testRelayProxy() { $proxy = file_get_contents(\dirname(__DIR__, 2).'/Traits/RelayProxy.php'); @@ -122,9 +119,7 @@ public function testRelayProxy() $this->assertEquals($expectedProxy, $proxy); } - /** - * @requires extension relay - */ + #[RequiresPhpExtension('relay')] public function testRelayClusterProxy() { $proxy = file_get_contents(\dirname(__DIR__, 2).'/Traits/RelayClusterProxy.php'); diff --git a/Tests/Traits/RedisTraitTest.php b/Tests/Traits/RedisTraitTest.php index 3a533d0..9a4e70c 100644 --- a/Tests/Traits/RedisTraitTest.php +++ b/Tests/Traits/RedisTraitTest.php @@ -11,18 +11,17 @@ namespace Symfony\Component\Cache\Tests\Traits; +use PHPUnit\Framework\Attributes\DataProvider; +use PHPUnit\Framework\Attributes\Group; +use PHPUnit\Framework\Attributes\RequiresPhpExtension; use PHPUnit\Framework\TestCase; use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Traits\RedisTrait; -/** - * @requires extension redis - */ +#[RequiresPhpExtension('redis')] class RedisTraitTest extends TestCase { - /** - * @dataProvider provideCreateConnection - */ + #[DataProvider('provideCreateConnection')] public function testCreateConnection(string $dsn, string $expectedClass) { if (!class_exists($expectedClass)) { @@ -84,9 +83,8 @@ public static function provideCreateConnection(): array * a persistent connection, the database has to be re-selected, too. * * @see https://github.com/phpredis/phpredis/issues/1920 - * - * @group integration */ + #[Group('integration')] public function testPconnectSelectsCorrectDatabase() { if (!class_exists(\Redis::class)) { @@ -134,9 +132,7 @@ public function testPconnectSelectsCorrectDatabase() } } - /** - * @dataProvider provideDbIndexDsnParameter - */ + #[DataProvider('provideDbIndexDsnParameter')] public function testDbIndexDsnParameter(string $dsn, int $expectedDb) { if (!getenv('REDIS_AUTHENTICATED_HOST')) { @@ -180,9 +176,7 @@ public static function provideDbIndexDsnParameter(): array ]; } - /** - * @dataProvider provideInvalidDbIndexDsnParameter - */ + #[DataProvider('provideInvalidDbIndexDsnParameter')] public function testInvalidDbIndexDsnParameter(string $dsn) { if (!getenv('REDIS_AUTHENTICATED_HOST')) { From 066b5a7ed2aaa0023c8a2a95d35c23337d1bad61 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Mon, 4 Aug 2025 09:53:42 +0200 Subject: [PATCH 11/18] CS fixes --- Adapter/DoctrineDbalAdapter.php | 12 ++++++++---- Adapter/MemcachedAdapter.php | 3 ++- Tests/Adapter/TagAwareTestTrait.php | 3 ++- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/Adapter/DoctrineDbalAdapter.php b/Adapter/DoctrineDbalAdapter.php index 8e52dfe..f6abcf7 100644 --- a/Adapter/DoctrineDbalAdapter.php +++ b/Adapter/DoctrineDbalAdapter.php @@ -18,6 +18,10 @@ use Doctrine\DBAL\Exception as DBALException; use Doctrine\DBAL\Exception\TableNotFoundException; use Doctrine\DBAL\ParameterType; +use Doctrine\DBAL\Platforms\AbstractMySQLPlatform; +use Doctrine\DBAL\Platforms\OraclePlatform; +use Doctrine\DBAL\Platforms\PostgreSQLPlatform; +use Doctrine\DBAL\Platforms\SQLServerPlatform; use Doctrine\DBAL\Schema\DefaultSchemaManagerFactory; use Doctrine\DBAL\Schema\Name\Identifier; use Doctrine\DBAL\Schema\Name\UnqualifiedName; @@ -367,11 +371,11 @@ private function getPlatformName(): string } return $this->platformName = match (true) { - $platform instanceof \Doctrine\DBAL\Platforms\AbstractMySQLPlatform => 'mysql', + $platform instanceof AbstractMySQLPlatform => 'mysql', $platform instanceof $sqlitePlatformClass => 'sqlite', - $platform instanceof \Doctrine\DBAL\Platforms\PostgreSQLPlatform => 'pgsql', - $platform instanceof \Doctrine\DBAL\Platforms\OraclePlatform => 'oci', - $platform instanceof \Doctrine\DBAL\Platforms\SQLServerPlatform => 'sqlsrv', + $platform instanceof PostgreSQLPlatform => 'pgsql', + $platform instanceof OraclePlatform => 'oci', + $platform instanceof SQLServerPlatform => 'sqlsrv', default => $platform::class, }; } diff --git a/Adapter/MemcachedAdapter.php b/Adapter/MemcachedAdapter.php index d882ef1..1c9ef84 100644 --- a/Adapter/MemcachedAdapter.php +++ b/Adapter/MemcachedAdapter.php @@ -15,6 +15,7 @@ use Symfony\Component\Cache\Exception\InvalidArgumentException; use Symfony\Component\Cache\Marshaller\DefaultMarshaller; use Symfony\Component\Cache\Marshaller\MarshallerInterface; +use Symfony\Contracts\Cache\ItemInterface; /** * @author Rob Frawley 2nd @@ -24,7 +25,7 @@ class MemcachedAdapter extends AbstractAdapter { /** * We are replacing characters that are illegal in Memcached keys with reserved characters from - * {@see \Symfony\Contracts\Cache\ItemInterface::RESERVED_CHARACTERS} that are legal in Memcached. + * {@see ItemInterface::RESERVED_CHARACTERS} that are legal in Memcached. * Note: don’t use {@see AbstractAdapter::NS_SEPARATOR}. */ private const RESERVED_MEMCACHED = " \n\r\t\v\f\0"; diff --git a/Tests/Adapter/TagAwareTestTrait.php b/Tests/Adapter/TagAwareTestTrait.php index 9894ba0..d03a1ea 100644 --- a/Tests/Adapter/TagAwareTestTrait.php +++ b/Tests/Adapter/TagAwareTestTrait.php @@ -11,6 +11,7 @@ namespace Symfony\Component\Cache\Tests\Adapter; +use Psr\Cache\InvalidArgumentException; use Symfony\Component\Cache\CacheItem; /** @@ -25,7 +26,7 @@ public function testInvalidTag() $pool = $this->createCachePool(); $item = $pool->getItem('foo'); - $this->expectException(\Psr\Cache\InvalidArgumentException::class); + $this->expectException(InvalidArgumentException::class); $item->tag(':'); } From 6d9557efdb6f05782b3657a9d167cfa63b82f5f7 Mon Sep 17 00:00:00 2001 From: Gina Peter Banyard Date: Tue, 24 Jun 2025 13:39:09 +0100 Subject: [PATCH 12/18] Remove some implicit bool type juggling --- Tests/Traits/RedisTraitTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/Traits/RedisTraitTest.php b/Tests/Traits/RedisTraitTest.php index 9a4e70c..dea9cdf 100644 --- a/Tests/Traits/RedisTraitTest.php +++ b/Tests/Traits/RedisTraitTest.php @@ -56,7 +56,7 @@ public function testUrlDecodeParameters() public static function provideCreateConnection(): array { - $hosts = array_map(fn ($host) => \sprintf('host[%s]', $host), explode(' ', getenv('REDIS_CLUSTER_HOSTS'))); + $hosts = array_map(fn ($host) => \sprintf('host[%s]', $host), explode(' ', getenv('REDIS_CLUSTER_HOSTS') ?: '')); return [ [ @@ -79,7 +79,7 @@ public static function provideCreateConnection(): array } /** - * Due to a bug in phpredis, the persistent connection will keep its last selected database. So when re-using + * Due to a bug in phpredis, the persistent connection will keep its last selected database. So when reusing * a persistent connection, the database has to be re-selected, too. * * @see https://github.com/phpredis/phpredis/issues/1920 From 201005cde014878783ead62dffbd044fe4467139 Mon Sep 17 00:00:00 2001 From: Dariusz Ruminski Date: Sun, 10 Aug 2025 00:28:14 +0200 Subject: [PATCH 13/18] chore: heredoc indentation as of PHP 7.3 https://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc --- Adapter/PhpArrayAdapter.php | 8 +-- Adapter/RedisTagAwareAdapter.php | 82 +++++++++++++++---------------- Tests/Traits/RedisProxiesTest.php | 48 +++++++++--------- 3 files changed, 69 insertions(+), 69 deletions(-) diff --git a/Adapter/PhpArrayAdapter.php b/Adapter/PhpArrayAdapter.php index 8047a8a..6d100dc 100644 --- a/Adapter/PhpArrayAdapter.php +++ b/Adapter/PhpArrayAdapter.php @@ -272,14 +272,14 @@ public function warmUp(array $values): array $dumpedValues = ''; $dumpedMap = []; $dump = <<<'EOF' - $value) { CacheItem::validateKey(\is_int($key) ? (string) $key : $key); diff --git a/Adapter/RedisTagAwareAdapter.php b/Adapter/RedisTagAwareAdapter.php index 779c4d9..a813b4d 100644 --- a/Adapter/RedisTagAwareAdapter.php +++ b/Adapter/RedisTagAwareAdapter.php @@ -137,19 +137,19 @@ protected function doSave(array $values, int $lifetime, array $addTagData = [], protected function doDeleteYieldTags(array $ids): iterable { $lua = <<<'EOLUA' - local v = redis.call('GET', KEYS[1]) - local e = redis.pcall('UNLINK', KEYS[1]) + local v = redis.call('GET', KEYS[1]) + local e = redis.pcall('UNLINK', KEYS[1]) - if type(e) ~= 'number' then - redis.call('DEL', KEYS[1]) - end + if type(e) ~= 'number' then + redis.call('DEL', KEYS[1]) + end - if not v or v:len() <= 13 or v:byte(1) ~= 0x9D or v:byte(6) ~= 0 or v:byte(10) ~= 0x5F then - return '' - end + if not v or v:len() <= 13 or v:byte(1) ~= 0x9D or v:byte(6) ~= 0 or v:byte(10) ~= 0x5F then + return '' + end - return v:sub(14, 13 + v:byte(13) + v:byte(12) * 256 + v:byte(11) * 65536) -EOLUA; + return v:sub(14, 13 + v:byte(13) + v:byte(12) * 256 + v:byte(11) * 65536) + EOLUA; $results = $this->pipeline(function () use ($ids, $lua) { foreach ($ids as $id) { @@ -196,31 +196,31 @@ protected function doInvalidate(array $tagIds): bool // garbage collect that set from the client side. $lua = <<<'EOLUA' - redis.replicate_commands() - - local cursor = '0' - local id = KEYS[1] - repeat - local result = redis.call('SSCAN', id, cursor, 'COUNT', 5000); - cursor = result[1]; - local rems = {} - - for _, v in ipairs(result[2]) do - local ok, _ = pcall(redis.call, 'DEL', ARGV[1]..v) - if ok then - table.insert(rems, v) - end - end - if 0 < #rems then - redis.call('SREM', id, unpack(rems)) - end - until '0' == cursor; - - redis.call('SUNIONSTORE', '{'..id..'}'..id, id) - redis.call('DEL', id) - - return redis.call('SSCAN', '{'..id..'}'..id, '0', 'COUNT', 5000) -EOLUA; + redis.replicate_commands() + + local cursor = '0' + local id = KEYS[1] + repeat + local result = redis.call('SSCAN', id, cursor, 'COUNT', 5000); + cursor = result[1]; + local rems = {} + + for _, v in ipairs(result[2]) do + local ok, _ = pcall(redis.call, 'DEL', ARGV[1]..v) + if ok then + table.insert(rems, v) + end + end + if 0 < #rems then + redis.call('SREM', id, unpack(rems)) + end + until '0' == cursor; + + redis.call('SUNIONSTORE', '{'..id..'}'..id, id) + redis.call('DEL', id) + + return redis.call('SSCAN', '{'..id..'}'..id, '0', 'COUNT', 5000) + EOLUA; $results = $this->pipeline(function () use ($tagIds, $lua) { if ($this->redis instanceof \Predis\ClientInterface) { @@ -235,14 +235,14 @@ protected function doInvalidate(array $tagIds): bool }); $lua = <<<'EOLUA' - redis.replicate_commands() + redis.replicate_commands() - local id = KEYS[1] - local cursor = table.remove(ARGV) - redis.call('SREM', '{'..id..'}'..id, unpack(ARGV)) + local id = KEYS[1] + local cursor = table.remove(ARGV) + redis.call('SREM', '{'..id..'}'..id, unpack(ARGV)) - return redis.call('SSCAN', '{'..id..'}'..id, cursor, 'COUNT', 5000) -EOLUA; + return redis.call('SSCAN', '{'..id..'}'..id, cursor, 'COUNT', 5000) + EOLUA; $success = true; foreach ($results as $id => $values) { diff --git a/Tests/Traits/RedisProxiesTest.php b/Tests/Traits/RedisProxiesTest.php index 0a7f69c..c03dc80 100644 --- a/Tests/Traits/RedisProxiesTest.php +++ b/Tests/Traits/RedisProxiesTest.php @@ -39,11 +39,11 @@ public function testRedisProxy($class) } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $methods[$method->name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } uksort($methods, 'strnatcmp'); @@ -57,11 +57,11 @@ public function testRedisProxy($class) } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $methods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } uksort($methods, 'strnatcmp'); @@ -90,11 +90,11 @@ public function testRelayProxy() $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $expectedMethods[$method->name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } foreach ((new \ReflectionClass(Relay::class))->getMethods() as $method) { @@ -103,11 +103,11 @@ public function testRelayProxy() } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $methods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } uksort($methods, 'strnatcmp'); @@ -135,11 +135,11 @@ public function testRelayClusterProxy() $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $expectedMethods[$method->name] = "\n ".ProxyHelper::exportSignature($method, true, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } foreach ((new \ReflectionClass(RelayCluster::class))->getMethods() as $method) { @@ -148,11 +148,11 @@ public function testRelayClusterProxy() } $return = '__construct' === $method->name || $method->getReturnType() instanceof \ReflectionNamedType && 'void' === (string) $method->getReturnType() ? '' : 'return '; $methods[$method->name] = "\n ".ProxyHelper::exportSignature($method, false, $args)."\n".<<initializeLazyObject()->{$method->name}({$args}); - } + { + {$return}\$this->initializeLazyObject()->{$method->name}({$args}); + } - EOPHP; + EOPHP; } uksort($methods, 'strnatcmp'); From 2c4ebb7404b48fe40bfe5cc89b1e62e52b2f106f Mon Sep 17 00:00:00 2001 From: Dariusz Ruminski Date: Sat, 9 Aug 2025 23:58:04 +0200 Subject: [PATCH 14/18] chore: PHP CS Fixer - restore PHP / PHPUnit rulesets --- Adapter/PhpArrayAdapter.php | 4 ++-- Traits/FilesystemCommonTrait.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Adapter/PhpArrayAdapter.php b/Adapter/PhpArrayAdapter.php index 8047a8a..4efeb15 100644 --- a/Adapter/PhpArrayAdapter.php +++ b/Adapter/PhpArrayAdapter.php @@ -259,7 +259,7 @@ public function warmUp(array $values): array } else { $directory = \dirname($this->file); - if (!is_dir($directory) && !@mkdir($directory, 0777, true)) { + if (!is_dir($directory) && !@mkdir($directory, 0o777, true)) { throw new InvalidArgumentException(\sprintf('Cache directory does not exist and cannot be created: "%s".', $directory)); } @@ -324,7 +324,7 @@ public function warmUp(array $values): array $tmpFile = tempnam(\dirname($this->file), basename($this->file)); file_put_contents($tmpFile, $dump); - @chmod($tmpFile, 0666 & ~umask()); + @chmod($tmpFile, 0o666 & ~umask()); unset($serialized, $value, $dump); @rename($tmpFile, $this->file); diff --git a/Traits/FilesystemCommonTrait.php b/Traits/FilesystemCommonTrait.php index 98e0d3e..b3a156f 100644 --- a/Traits/FilesystemCommonTrait.php +++ b/Traits/FilesystemCommonTrait.php @@ -39,7 +39,7 @@ private function init(string $namespace, ?string $directory): void $directory .= \DIRECTORY_SEPARATOR.'@'; } if (!is_dir($directory)) { - @mkdir($directory, 0777, true); + @mkdir($directory, 0o777, true); } $directory .= \DIRECTORY_SEPARATOR; // On Windows the whole path is limited to 258 chars @@ -130,7 +130,7 @@ private function getFile(string $id, bool $mkdir = false, ?string $directory = n $dir = ($directory ?? $this->directory).strtoupper($hash[0].\DIRECTORY_SEPARATOR.$hash[1].\DIRECTORY_SEPARATOR); if ($mkdir && !is_dir($dir)) { - @mkdir($dir, 0777, true); + @mkdir($dir, 0o777, true); } return $dir.substr($hash, 2, 20); From b5ac2d23d80163d59895c30d0d6b1daa51082233 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 14 Aug 2025 09:36:33 +0200 Subject: [PATCH 15/18] Replace __sleep/wakeup() by __(un)serialize() when BC isn't a concern --- Adapter/TagAwareAdapter.php | 4 ++-- Tests/Adapter/AdapterTestCase.php | 2 +- Tests/Psr16CacheTest.php | 2 +- Traits/AbstractAdapterTrait.php | 4 ++-- Traits/FilesystemCommonTrait.php | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Adapter/TagAwareAdapter.php b/Adapter/TagAwareAdapter.php index 70927cf..04cbd01 100644 --- a/Adapter/TagAwareAdapter.php +++ b/Adapter/TagAwareAdapter.php @@ -309,12 +309,12 @@ public function reset(): void $this->tags instanceof ResettableInterface && $this->tags->reset(); } - public function __sleep(): array + public function __serialize(): array { throw new \BadMethodCallException('Cannot serialize '.__CLASS__); } - public function __wakeup(): void + public function __unserialize(array $data): void { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); } diff --git a/Tests/Adapter/AdapterTestCase.php b/Tests/Adapter/AdapterTestCase.php index 896ca94..9a79365 100644 --- a/Tests/Adapter/AdapterTestCase.php +++ b/Tests/Adapter/AdapterTestCase.php @@ -399,7 +399,7 @@ public function testNamespaces() class NotUnserializable { - public function __wakeup(): void + public function __unserialize(array $data): void { throw new \Exception(__CLASS__); } diff --git a/Tests/Psr16CacheTest.php b/Tests/Psr16CacheTest.php index 9f0d43e..cf91bb2 100644 --- a/Tests/Psr16CacheTest.php +++ b/Tests/Psr16CacheTest.php @@ -173,7 +173,7 @@ protected function isPruned(CacheInterface $cache, string $name): bool class NotUnserializable { - public function __wakeup(): void + public function __unserialize(array $data): void { throw new \Exception(__CLASS__); } diff --git a/Traits/AbstractAdapterTrait.php b/Traits/AbstractAdapterTrait.php index ac8dc97..92e106f 100644 --- a/Traits/AbstractAdapterTrait.php +++ b/Traits/AbstractAdapterTrait.php @@ -288,12 +288,12 @@ public function reset(): void $this->ids = []; } - public function __sleep(): array + public function __serialize(): array { throw new \BadMethodCallException('Cannot serialize '.__CLASS__); } - public function __wakeup(): void + public function __unserialize(array $data): void { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); } diff --git a/Traits/FilesystemCommonTrait.php b/Traits/FilesystemCommonTrait.php index b3a156f..3ebf2fc 100644 --- a/Traits/FilesystemCommonTrait.php +++ b/Traits/FilesystemCommonTrait.php @@ -168,12 +168,12 @@ private function scanHashDir(string $directory): \Generator } } - public function __sleep(): array + public function __serialize(): array { throw new \BadMethodCallException('Cannot serialize '.__CLASS__); } - public function __wakeup(): void + public function __unserialize(array $data): void { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); } From 1b9517872000d0b76ab77924970785f0396ed4ed Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 14 Aug 2025 16:45:04 +0200 Subject: [PATCH 16/18] [Mime] Deprecate implementing `__sleep/wakeup()` on `AbstractPart` implementations --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 8d0a10a..984130e 100644 --- a/composer.json +++ b/composer.json @@ -25,7 +25,7 @@ "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", "symfony/cache-contracts": "^3.6", - "symfony/deprecation-contracts": "^2.5|^3.0", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/service-contracts": "^2.5|^3", "symfony/var-exporter": "^6.4|^7.0|^8.0" }, From 5d2b58ce6a181c955811e966075bce9779832f36 Mon Sep 17 00:00:00 2001 From: Dawid Nowak Date: Sat, 23 Aug 2025 00:01:03 +0200 Subject: [PATCH 17/18] [DI]: removed unnecessary checks on `Definition`s and `Alias`es If it is "public", then for sure it is not "private". https://github.com/symfony/symfony/pull/61505#issuecomment-3227850921 --- DependencyInjection/CacheCollectorPass.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/DependencyInjection/CacheCollectorPass.php b/DependencyInjection/CacheCollectorPass.php index 0b8d6ae..7115af7 100644 --- a/DependencyInjection/CacheCollectorPass.php +++ b/DependencyInjection/CacheCollectorPass.php @@ -49,9 +49,7 @@ private function addToCollector(string $id, string $name, ContainerBuilder $cont $collectorDefinition = $container->getDefinition('data_collector.cache'); $recorder = new Definition(is_subclass_of($definition->getClass(), TagAwareAdapterInterface::class) ? TraceableTagAwareAdapter::class : TraceableAdapter::class); $recorder->setTags($definition->getTags()); - if (!$definition->isPublic() || !$definition->isPrivate()) { - $recorder->setPublic($definition->isPublic()); - } + $recorder->setPublic($definition->isPublic()); $recorder->setArguments([new Reference($innerId = $id.'.recorder_inner'), new Reference('profiler.is_disabled_state_checker', ContainerBuilder::IGNORE_ON_INVALID_REFERENCE)]); foreach ($definition->getMethodCalls() as [$method, $args]) { From 80f7288a41e83b8e7e2d9014663c166975caf399 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Fri, 5 Sep 2025 14:17:45 +0200 Subject: [PATCH 18/18] use the empty string instead of null as an array offset --- Adapter/TagAwareAdapter.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Adapter/TagAwareAdapter.php b/Adapter/TagAwareAdapter.php index 539ef16..a422bcc 100644 --- a/Adapter/TagAwareAdapter.php +++ b/Adapter/TagAwareAdapter.php @@ -366,7 +366,7 @@ private function getTagVersions(array $tagsByKey, bool $persistTags): array (self::$saveTags)($this->tags, $newTags); } - while ($now > ($this->knownTagVersions[$tag = array_key_first($this->knownTagVersions)][0] ?? \INF)) { + while ($now > ($this->knownTagVersions[$tag = array_key_first($this->knownTagVersions) ?? ''][0] ?? \INF)) { unset($this->knownTagVersions[$tag]); }