From a5cc48d85fdfacf78cc89e2f0255da76c0b6dc18 Mon Sep 17 00:00:00 2001 From: Vladyslav Vildanov <117659936+vladvildanov@users.noreply.github.com> Date: Wed, 26 Jul 2023 16:33:20 +0300 Subject: [PATCH] Added support for new container command approach of NO-EVICT subcommand (#1346) --- .github/workflows/linters.yml | 1 + .github/workflows/stack.yml | 1 + .github/workflows/tests.yml | 1 + src/Command/Container/CLIENT.php | 1 + src/Command/Redis/CLIENT.php | 4 ++++ tests/Predis/Command/Redis/CLIENT_Test.php | 11 +++++++++++ 6 files changed, 19 insertions(+) diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 1e22c899..ae7212fe 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -7,6 +7,7 @@ on: branches: - main - v2.** + - v3.** pull_request: null permissions: {} diff --git a/.github/workflows/stack.yml b/.github/workflows/stack.yml index c5a7ad60..fa158f58 100644 --- a/.github/workflows/stack.yml +++ b/.github/workflows/stack.yml @@ -5,6 +5,7 @@ on: branches: - main - v2.** + - v3.** pull_request: jobs: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 44f3b7f3..1134090e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -5,6 +5,7 @@ on: branches: - main - v2.** + - v3.** pull_request: concurrency: diff --git a/src/Command/Container/CLIENT.php b/src/Command/Container/CLIENT.php index 46acbfd1..60228bb0 100644 --- a/src/Command/Container/CLIENT.php +++ b/src/Command/Container/CLIENT.php @@ -18,6 +18,7 @@ use Predis\Response\Status; * @method string getName() * @method Status kill(...$arguments) * @method string list(string $type = null, int ...$clientId) + * @method Status noEvict(bool $enable = null) * @method Status noTouch(bool $enable = null) * @method Status setInfo(string $modifier = null, string $value = null) * @method Status setName(string $connectionName) diff --git a/src/Command/Redis/CLIENT.php b/src/Command/Redis/CLIENT.php index 8f30609d..b791e644 100644 --- a/src/Command/Redis/CLIENT.php +++ b/src/Command/Redis/CLIENT.php @@ -36,6 +36,10 @@ class CLIENT extends RedisCommand case 'LIST': $this->setListArguments($arguments); break; + case 'NOEVICT': + $arguments[0] = 'NO-EVICT'; + $this->setNoTouchArguments($arguments); + break; case 'NOTOUCH': $arguments[0] = 'NO-TOUCH'; $this->setNoTouchArguments($arguments); diff --git a/tests/Predis/Command/Redis/CLIENT_Test.php b/tests/Predis/Command/Redis/CLIENT_Test.php index ec84ff8b..78bcc23f 100644 --- a/tests/Predis/Command/Redis/CLIENT_Test.php +++ b/tests/Predis/Command/Redis/CLIENT_Test.php @@ -229,6 +229,17 @@ BUFFER; $this->assertEquals($expectedConnectionName, $redis->client->getName()); } + /** + * @group connected + * @requiresRedisVersion >= 7.0.0 + */ + public function testNoEvictTurnEnableEvictionMode(): void + { + $redis = $this->getClient(); + + $this->assertEquals('OK', $redis->client->noEvict(true)); + } + /** * @group connected * @requiresRedisVersion >= 7.2.0