当前位置: 首页 > 编程日记 > 正文

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

相关文章:

ASP.NET MVC 重点教程一周年版 第九回 HtmlHelper 【转】

许多时候我们会遇到如下场景 在写一个编辑数据的页面时&#xff0c;我们通常会写如下代码 1: <input type"text" value<%ViewData["title"] %> name"title" />由前篇我们所讲的Helper演化&#xff0c;我们思考&#xff0c;对于这种代…

最佳DevOps工具获奖者:CloudBees Jenkins平台

最新一期《IT新架构》宣布了第三届影响力奖的最终结果。这些获奖的产品和技术由我们读者、行业专家和编辑人员参与投票评选&#xff0c;并且预计将对2016年的IT运营产生显著影响。首先向所有的获胜者表示祝贺。 最佳DevOps工具 获奖者&#xff1a;CloudBees Jenkins平台 开源Je…

【怎样写代码】参数化类型 -- 泛型(二):泛型的优点

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

php 对象json中文乱码,解决php json中文乱码问题

php json中文乱码的解决办法&#xff1a;首先将类中的中文字段进行url编码&#xff1b;然后再将对象进行json编码&#xff1b;最后进行url解码即可解决乱码问题。PHP中json中文乱码问题解决问题&#xff1a;众所周知使用json_encode可以方便快捷地将对象进行json编码&#xff0…

前两天去A公司面试,面试管问的题目一下子闷了。很郁闷。重新答题。在这里分享一下...

前两天去A公司面试&#xff0c;面试管问的题目一下子闷了。很郁闷。重新答题。在这里分享一下。 1&#xff09; 问&#xff1a;请问你最近做过什么项目&#xff0c;介绍一下大致的情况&#xff1f; 答&#xff1a;做了http://www.chinatravel.net,由2个人一起开发&#xff0c;其…

数据挖掘公司D square nv 完成500万欧元B轮融资

D square nv日前完成 500 万欧元 B 轮融资&#xff0c;融资方为 Gemma Frisius Fonds, Jrgen Ingels, Limburgse Reconversie Maatschappij, Fortino Capital。 D square nv 成立于 2007年12月&#xff0c;总部位于比利时哈瑟尔特。当时由创始团队自掏腰包 13.5 万欧元作为种子…

【怎样写代码】参数化类型 -- 泛型(三):泛型之类型参数

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

java 获取init参数,Java如何读取servlet init参数?

在web.xml文件中配置servlet时&#xff0c;我们可以在servlet配置部分中定义一些初始化参数。此init参数可用于定义应用程序配置文件的存储位置。下面的这个简单的servlet展示了如何获取这些init参数值。package org.nhooo.example.servlet;import javax.servlet.ServletExcept…

C#实现一个用于开机启动其他程序的Windows服务

今天决定写写博客&#xff0c;不为别的&#xff0c;只当自己的积累&#xff0c;如果与此同时能不误导他人甚至给了朋友们一些启发&#xff0c;那真是更好了&#xff01; 程序的目的和用途&#xff1a; 很多开机启动程序仅仅加在启动项里面&#xff0c;只有登陆后才真正启动。wi…

Mythic推出“万能”芯片,任何设备都能一秒变身智能产品

我们身边已经出现了一些能够实现语音控制的设备。不过&#xff0c;无论是智能手机还是智能扬声器&#xff0c;都必须先连接到云端&#xff0c;才能实现语音控制。现在&#xff0c;一家叫做Mythic的初创公司推出的新型的芯片和软件将改变这一情况。它无需通过云端就能在本地设备…

【怎样写代码】参数化类型 -- 泛型(四):泛型之类型参数约束

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

matlab实验是啥,matlab实验心得体会

matlab实验心得体会这个就是我自己做出来的&#xff0c;发现用soundsc听出来还行&#xff0c;但是用wavwrite就变的很难听。后来发现PB写的很好&#xff0c;而且还能够把前面一段没有噪音的部分给保存下来&#xff0c;我就看了他的代码&#xff0c;有几点体会&#xff1a;1.将代…

Silverlight中文件的生成操作与其对应的获取方法

文件生成操作&#xff1a;Silverlight里的资源文件(图片、视频、字体、XML、XAML等) 生成操作属性选择不同选项时&#xff0c;文件的生成方式和存储位置会有相应变化&#xff0c;下面说一下几个常用的选项&#xff1a;1、 Page&#xff1a;一般xaml文件都用这个。2、 Compile&a…

2017SDN市场一片繁荣,全球企业纷纷“亮剑“

据国外媒体报道&#xff0c;爱尔兰市场研究机构Research and Markets发布的数据显示&#xff0c;到2023年&#xff0c;全球运营商软件定义网络市场预计将达到95亿美元。预计运营商软件定义网络将在未来六年中以42.3%的年复合率增长。强大的市场前景&#xff0c;使得全球各大运营…

【怎样写代码】参数化类型 -- 泛型(五):泛型类

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

kerberos java实现,基于kerberos实现jaas登录

这段时间在做hadoop和kerberos的整合&#xff0c;顺便看了jaas和kerberos&#xff0c;这里给出使用kerberos登录模块的jaas例子。前提条件1.kerberos已经安装&#xff0c;principal已经创建&#xff0c;这里用的principal是已经建好的nn/adminpsy.com;2.客户端配置了kerberos&a…

【怎样写代码】参数化类型 -- 泛型(六):泛型接口

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

多媒体视像会议中音视频矩阵的用途

在现代多媒体会议室&#xff0c;为了满足不同演示场合的需求&#xff0c;通常会具备多种不同的音视频信号源和显示终端&#xff0c;虽然这些音视频信号源和显示终端也可能会同时具备复合视频&#xff08;Composite-Video&#xff09;、超级视频&#xff08;S-Video&#xff09;…

winsock select

MSDN中&#xff0c;有&#xff1a; select The select function determines the status of one or more sockets, waiting if necessary, to perform synchronous I/O.int select(int nfds,fd_set* readfds,fd_set* writefds,fd_set* exceptfds,const struct timeval* timeout …

matlab llc谐振电路,一个菜鸟对LLC谐振知识的渴望

admin离线LV9管理员积分&#xff1a;30301|主题&#xff1a;2337|帖子&#xff1a;8925积分:30301管理员2015-5-27 14:55:14期待ingshyshihouyun积分&#xff1a;5664|主题&#xff1a;152|帖子&#xff1a;2386积分:5664LV8副总工程师2015-5-27 15:01:18首先要知道为什么要用L…

启用IIS的Gzip压缩 【转】

现代的浏览器IE6和Firefox都支持客户端Gzip&#xff0c;也就是说&#xff0c;在服务器上的网页&#xff0c;传输之前&#xff0c;先使用Gzip压缩再传 输给客户端&#xff0c;客户端接收之后由浏览器解压显示&#xff0c;这样虽然稍微占用了一些服务器和客户端的CPU&#xff0c;…

【怎样写代码】参数化类型 -- 泛型(七):泛型方法

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

新疆弃光量下降14% 弃光问题仍然难解

风力与太阳能资源丰沛的中国新疆地区&#xff0c;同时也是中国弃光、弃风限电问题最严重的地区。好消息是&#xff0c;新疆维吾尔自治区发改委指出&#xff0c;新疆今年第一季的弃光与弃风量分别较去年同期降低了14.4%和14%&#xff1b;然而&#xff0c;整体弃光问题仍然难解。…

ueditor php 附件,ueditor单独调用上传附件和图片的功能

第一步, 引入文件第二步 html元素调用的页面&#xff1a;上传图片上传文件第三步 编写js代码var _editor;$(function() {//重新实例化一个编辑器&#xff0c;防止在上面的editor编辑器中显示上传的图片或者文件_editor UE.getEditor(upload_ue);_editor.ready(function () {//…

动网论坛数据库字段表说明

address ip表ip1 ip地址开始ip2 ip地址结束country 国家city 城市admin 管理员表id 管理员自编idusername 用户名 password 管理员后台登录密码flag 管理权限&#xff08;0519&#xff09;lastlogin 管理员登录后台最后一次时间lastloginip 管理员最后一次登陆后台ipadduser 登…

【怎样写代码】参数化类型 -- 泛型(八):泛型委托

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.

GfK公司将IT设备移至Equinix公司在法兰克福的数据中心

日前据悉&#xff0c;德国市场研究机构GfK公司将其所有IT基础设施从纽伦堡的三个数据中心转移到Equinix公司最近在法兰克福开通的一个数据中心。该举措将巩固GfK公司在EMEA&#xff08;欧洲、中东、非洲&#xff09;地区的数据业务&#xff0c;提高效率&#xff0c;并获得更多的…

php签名是做什么用的,这个签名在PHP中意味着什么()?

在PHP的语法中,这意味着该函数返回引用而不是值.例如&#xff1a;$foo foo;function & get_foo_ref (){global $foo;return $foo;}// Get the reference to variable $foo stored into $bar$bar & get_foo_ref();$bar bar;echo $foo; // Outputs bar, since $bar re…

静态构造函数趣谈!

类的静态构造函数也叫类型构造器&#xff0c;静态构造器&#xff0c;他调用的时刻由CLR来控制&#xff1a;CLR会选择如下时间之一来调用静态构造函数&#xff1a; 1&#xff0c;在类型的第一个实例创建之前&#xff0c;或类型的非继承字段或成员第一次访问之前。这里的“之…

【怎样写代码】参数化类型 -- 泛型(九):泛型代码中的default关键字

如果喜欢这里的内容&#xff0c;你能够给我最大的帮助就是转发&#xff0c;告诉你的朋友&#xff0c;鼓励他们一起来学习。 If you like the content here, you can give me the greatest help is forwarding, tell your friends, encourage them to learn together.