getCommand(); $command->setArguments(['key', ['member1', 'member2']]); $this->assertSame(['key', 'MEMBERS', 2, 'member1', 'member2'], $command->getArguments()); } /** * @group disconnected */ public function testParseResponse(): void { $command = $this->getCommand(); $this->assertSame([9998, -1, -2], $command->parseResponse([9998, -1, -2])); } /** * @group disconnected */ public function testPrefixKeys(): void { /** @var PrefixableCommand $command */ $command = $this->getCommand(); $command->setArguments(['key', ['member1', 'member2']]); $command->prefixKeys('prefix:'); $this->assertSame(['prefix:key', 'MEMBERS', 2, 'member1', 'member2'], $command->getArguments()); } /** * @group connected * @requiresRedisVersion >= 8.11.0 */ public function testReturnsRemainingTTLInMilliseconds(): void { $redis = $this->getClient(); $redis->saddex('setkey', ['member1'], SADDEX::COND_NULL, SADDEX::TTL_EX, 10); $redis->saddex('setkey', ['member2']); $response = $redis->spttl('setkey', ['member1', 'member2', 'member3']); $this->assertGreaterThan(9000, $response[0]); $this->assertLessThanOrEqual(10000, $response[0]); $this->assertSame([-1, -2], array_slice($response, 1)); $this->assertSame([-2], $redis->spttl('wrongkey', ['member1'])); } }