/** * Removes the specified members from the set value stored at key. * * @param string $key * @param string|array $members * * @return int The number of elements removed from the set. * @link http://redis.io/commands/srem * @example * <pre> * var_dump( $redis->sAdd('k', array('v1', 'v2', 'v3')) ); // int(3) * var_dump( $redis->sRem('k', array('v2', 'v3')) ); // int(2) * var_dump( $redis->sMembers('k') ); * //// Output: * // array(1) { * // [0]=> string(2) "v1" * // } * </pre> */ public function sRem($key, $members) { try { return $this->client->sRem($key, $members); } catch (Exception $e) { return $this->handleException($e, __FUNCTION__, func_get_args()); } }
public function sRem($key, $member1, $member2 = null, $memberN = null) { $args = func_get_args(); if (count($args) > 2) { $this->signalError('Call to sRem() with more than 2 arguments.'); // shift off key array_shift($args); return $this->redis->sRem($key, $args); } return $this->redis->sRem($key, $member1); }
/** * Test removing a set member */ public function testSrem() { $this->redis->del('testSrem'); $this->assertEquals(1, $this->redis->sadd('testSrem', 'a')); $this->assertEquals(1, $this->redis->sadd('testSrem', 'b')); $this->assertEquals(1, $this->redis->sadd('testSrem', 'c')); $this->assertEquals(1, $this->redis->sadd('testSrem', 'd')); $sremResult = $this->redis->srem('testSrem', 'b'); $this->assertInternalType('int', $sremResult); $this->assertEquals(1, $sremResult); $this->assertEquals(2, $this->redis->srem('testSrem', array('c', 'd'))); $this->assertEquals(array('a'), $this->redis->smembers('testSrem')); // make sure varargs are not supported $this->redis->sAdd('testSrem1', array('f', 'g', 'h')); $this->assertEquals(1, $this->redis->sRem('testSrem1', 'f', 'g')); $this->assertEquals(2, $this->redis->sCard('testSrem1')); $this->assertTrue($this->redis->sIsMember('testSrem1', 'g')); $this->assertEquals(1, $this->redis->del('testSrem1')); }
/** * Removes the specified members from the set value stored at key. * * @param string $key * @param string|array $members * * @return int The number of elements removed from the set. * @link http://redis.io/commands/srem * @example * <pre> * var_dump( $redis->sAdd('k', array('v1', 'v2', 'v3')) ); // int(3) * var_dump( $redis->sRem('k', array('v2', 'v3')) ); // int(2) * var_dump( $redis->sMembers('k') ); * //// Output: * // array(1) { * // [0]=> string(2) "v1" * // } * </pre> */ public function sRem($key, $members) { $this->appendToLog('SREM ' . $key . ' ' . $this->keysToString($members)); return $this->client->sRem($key, $members); }