redis->sAdd($key,$value); } /** *删除名称为key的set中的元素value * * @param $key string 键名 * @param $value 键值 * @return bool true|false */ public function sRem($key,$value){ return $this->redis->sRem($key,$value); } /** * 将value元素从名称为key1的集合移到名称为key2的集合 * * @param $key1 string 集合名 * @param $key2 string 集合名 * @param $value 值 * @return bool true|false */ public function sMove($key1,$key2,$value){ return $this->redis->sMove($key1,$key2,$value); } /** * 判断一个元素是否在集合中是一个时间复杂度为0(1)的操作,无论集合中有多少个元 * 素,SISMEMBER命令始终可以极快地返回结果。 * * @param $key string 集合名 * @param $value * @return bool true|false */ public function sIsMember($key,$value){ return $this->redis->sIsMember($key,$value); }//sContains作用同sIsMember一样 /** * 返回名称为key的set的元素个数 同sSize * * @param $key string * @return int 返回集合中的数值 */ public function sCard($key){ return $this->redis->sCard($key); } /** * 随机返回并删除名称为key的set中一个元素 * * @param $key string * @return string|bool 返回set中的元素,如果set为空就返回false */ public function sPop($key){ return $this->redis->sPop($key); } /** * 随机返回名称为key的set中一个元素,不删除 * * @param $key string * @return mixed */ public function sRandMember($key){ return $this->redis->sRandMember($key); } /** * 求两个集合的交集 * @param $key1 string 集合1 * @param $key2 string 集合2 * @return array */ public function sInter($key1,$key2){ return $this->redis->sInter($key1,$key2); } /** * 将给定多个集合key之间的交集存储在指定的集合output中。如果指定的集合已经存在,则将其覆盖 *下面只是两个 * @param $output string 集合 * @param $key1 string 集合 * @param $key2 string 集合 * @return int 交集的个数 */ public function sInterStore($output,$key1,$key2){ return $this->redis->sInterStore($output,$key1,$key2); } /** * 求多个集合的交集 * @param $keyarray array * @return array */ public function sInterArray($keyarray){ $keystr=''; foreach($keyarray as $k){ $keystr.='\''. $k.'\','; } $keystr=substr($keystr,0,-1); $str='$result=$this->redis->sInter('.$keystr.');'; eval($str); return $result; } /** * 求多个集合的并集(三个集合) * * @param $key1 string 集合1 * @param $key2 string 集合2 * @param $key3 string 集合3 * @return array */ public function sUnion($key1,$key2,$key3){ return $this->redis->sUnion($key1,$key2,$key3); } /** * 求并集并将并集保存到output的集合 * @param $output 要存储的集合 * @param $key1 string 集合1 * @param $key2 string 集合2 * @param $key3 string 集合3 * @return int 并集的数目 */ public function sUnionStore($output,$key1,$key2,$key3){ return $this->redis->sUnionStore($output,$key1,$key2,$key3); } /** * 求差集 (集合减去两个集合的交集) * * key1-key2 * {1, 2, 3}-{2, 3, 4}={1} * {2, 3, 4}-{1, 2, 3}={4} * @param $key1 string * @param $key2 string * @return array * SDIFF setA setB setC 计算顺序是先计算setA-setB,再计算结果与setC的差集 */ public function sDiff($key1,$key2){ return $this->redis->sDiff($key1,$key2); } /** * 返回集合中被的所有元素 * 同 sGetMembers * @param $key string 集合 * @return array */ public function sMembers($key){ return $this->redis->sMembers($key); } /** * 排序分页(直接拿来用) * sort * $redis->delete('s'); * $redis->sadd('s', 5); $redis->sadd('s', 4); $redis->sadd('s', 2); $redis->sadd('s', 1); $redis->sadd('s', 3); var_dump($redis->sort('s')); // 1,2,3,4,5 * var_dump($redis->sort('s', array('sort' => 'desc'))); // 5,4,3,2,1 * var_dump($redis->sort('s', array('sort' => 'desc', 'store' => 'out'))); // (int)5 */ }