/**
  * 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);
 }