博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php对redis的set(集合)操作
阅读量:6417 次
发布时间:2019-06-23

本文共 4010 字,大约阅读时间需要 13 分钟。

hot3.png

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

转载于:https://my.oschina.net/u/2430721/blog/626738

你可能感兴趣的文章
php debug
查看>>
Ubuntu构建LVS+Keepalived高可用负载均衡集群【生产环境部署】
查看>>
lvm实现快速备份文件及数据库,lvm快照原理
查看>>
设计模式之Factory Method(工厂方法)
查看>>
10K入职linux运维岗位小伙伴感谢信及面试经历分享
查看>>
zookeeper入门之Curator的使用之几种监听器的使用
查看>>
[转]Reporting Service部署之访问权限
查看>>
innerxml and outerxml
查看>>
validform校验框架不显示错误提示
查看>>
flink 获取上传的Jar源码
查看>>
Spring Data JPA Batch Insertion
查看>>
UEditor自动调节宽度
查看>>
JAVA做验证码图片(转自CSDN)
查看>>
Delphi TServerSocket,TClientSocket实现传送文件代码
查看>>
JS无聊之作
查看>>
Mac上搭建ELK
查看>>
443 Chapter7.Planning for High Availability in the Enterprise
查看>>
框架和语言的作用
查看>>
unidac连接ORACLE免装客户端驱动
查看>>
Cygwin + OpenSSH FOR Windows的安装配置
查看>>