php redis set集合操作,php对redis的set(集合)操作
<?phprequire ('redistest.php');/*** Class setcache*集合类型的常用操作是向集合中加入或删除元素、判断某个元素是否存在等,由于集合类型在Redis内部是使用值为空的散列表(hash table)实现的,所以这些操作的时间复杂度都是0(1)。*/classsetcacheextendscache{/***向名称为key的set中添加元素value,如果value存在,丌写入,return false**@param$key string键名*@param$value键值*@returnbool true|false*/public functionsAdd($key,$value){return$this->redis->sAdd($key,$value);}/***删除名称为key的set中的元素value**@param$key string键名*@param$value键值*@returnbool true|false*/public functionsRem($key,$value){return$this->redis->sRem($key,$value);}/***将value元素从名称为key1的集合移到名称为key2的集合**@param$key1 string集合名*@param$key2 string集合名*@param$value值*@returnbool true|false*/public functionsMove($key1,$key2,$value){return$this->redis->sMove($key1,$key2,$value);}/***判断一个元素是否在集合中是一个时间复杂度为0(1)的操作,无论集合中有多少个元*素,SISMEMBER命令始终可以极快地返回结果。**@param$key string集合名*@param$value*@returnbool true|false*/public functionsIsMember($key,$value){return$this->redis->sIsMember($key,$value);}//sContains作用同sIsMember一样/***返回名称为key的set的元素个数 同sSize**@param$key string*@returnint返回集合中的数值*/public functionsCard($key){return$this->redis->sCard($key);}/***随机返回并删除名称为key的set中一个元素**@param$key string*@returnstring|bool返回set中的元素,如果set为空就返回false*/public functionsPop($key){return$this->redis->sPop($key);}/***随机返回名称为key的set中一个元素,不删除**@param$key string*@returnmixed*/public functionsRandMember($key){return$this->redis->sRandMember($key);}/***求两个集合的交集*@param$key1 string集合1*@param$key2 string集合2*@returnarray*/public functionsInter($key1,$key2){return$this->redis->sInter($key1,$key2);}/***将给定多个集合key之间的交集存储在指定的集合output中。如果指定的集合已经存在,则将其覆盖*下面只是两个*@param$output string集合*@param$key1 string集合*@param$key2 string集合*@returnint交集的个数*/public functionsInterStore($output,$key1,$key2){return$this->redis->sInterStore($output,$key1,$key2);}/***求多个集合的交集*@param$keyarray array*@returnarray*/public functionsInterArray($keyarray){$keystr='';foreach($keyarrayas$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*@returnarray*/public functionsUnion($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*@returnint并集的数目*/public functionsUnionStore($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*@returnarray* SDIFF setA setB setC计算顺序是先计算setA-setB,再计算结果与setC的差集*/public functionsDiff($key1,$key2){return$this->redis->sDiff($key1,$key2);}/***返回集合中被的所有元素*同sGetMembers*@param$key string集合*@returnarray*/public functionsMembers($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*/}
php redis set集合操作,php对redis的set(集合)操作相关推荐
- netcore redis 存储集合_.net core redis的全套操作
摘要: 发布订阅 2.在.netcore中的调用订阅:redisManager.Subscribe("dylan",(channel,value)=>{Console.Wri ...
- python操作redis set_Python操作redis学习系列之(集合)set,redis set详解 (六)
#-*- coding: utf-8 -*- importredis r= redis.Redis(host="126.56.74.190",port=639,password=& ...
- Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- 为什么redis取出来是null_跳表:为什么Redis一定要用跳表来实现有序集合
上两节我们讲了二分查找算法.当时我讲到,因为二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现.如果数据存储在链表中,就真的没法用二分查找算法了吗? 实际上,我们只需要对链表稍加改造,就可以 ...
- Redis概述_使用命令对redis的数据进行增删改查_Jedis连接redis进行数据操作_redis进行数据缓存案例
学习目标 redis 概念 下载安装 命令操作 1. 数据结构 持久化操作 使用Java客户端操作redis Redis 前言(从百度上抄的, 看看了解一下, 懒得排版了) 1. 概念: redis是 ...
- jedis操作set_Jedis对redis的五大类型操作代码详解
本篇主要阐述Jedis对redis的五大类型的操作:字符串.列表.散列.集合.有序集合. JedisUtil 这里的测试用例采用junit4进行运行,准备代码如下: private static fi ...
- redis中存集合_如何在Redis中管理集合
redis中存集合 介绍 (Introduction) Redis is an open-source, in-memory key-value data store. Sets in Redis a ...
- python_day10のPython操作 RabbitMQ、Redis、Memcache
Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度 ...
- Spring中RedisTemplate方法中,redis相关操作笔记。[redis生成指定长度自增批次号,删除、设置过期时间等]
Spring中RedisTemplate方法中,redis相关操作笔记. redis获取自增批次号 // opsForValue()生成long UUID = redisTemplate.opsFor ...
最新文章
- Partial Class部分类
- java自学入门心得体会 0.1
- Makefile: -I(大写i)、-L、-l
- [9月29日的脚本] 枚举SharePoint列表(PowerShell)
- rs.getDate 返回类型问题
- 数码相机专业术语解答
- Linux C/C++编程之(十六)进程及进程控制
- 机器人对话常用语模板_电销助手——智能电话机器人
- XMind8update6 补丁
- win7资源监视器介绍
- 程序员应该看的十大电影
- linux笔记:使用conda命令管理包、管理环境详细讲解
- directx修复工具win7_win8下怎么装win7 win8下装win7方法【详细步骤】
- 厦门大学-机器学习-苏松志
- java中整数的整数次方_数值的整数次方java
- 天翎携手群晖助力电商行业文档管理
- P1551 亲戚(并查集)
- 百分点感知智能实验室:计算机视觉理论和应用研究
- 排序(下):归并排序和快速排序
- 【计算机视觉】opencv姿态解算4 视觉导航 单目特征检测与实时位姿
热门文章
- 浅谈网络协议(四) IP的由来--DHCP与PXE
- 图解5G NR帧结构
- Spring事务管理只对出现运行期异常进行回滚
- ThinkPHP子类继承Controller类的注意事项
- 《虚拟化与云计算》读书感(三)数据中心的概述
- Windows Server 2008 R2 之二十九故障转移群集(一)(
- Lumen / Laravel 5.5 使用网易邮箱 SMTP 发送邮件
- 1.试述大数据对思维方式的重要影响。 2.详细阐述大数据、云计算、物联网之间的区别与联系。 3.简述你对大数据应用与发展的看法,以及你在这次大数据浪潮中想扮演什么角色。...
- CentOS 6.9下配置安装KVM
- Wedge 100-32X 100GbE Data Center Switch