游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

php操作redis大全

  php连接redis测试lt;?phpredisnewRedis();redisconnect(127。0。0。1,6379);serveripportredisauth(mypassword);myredispasswordredisset(test,HelloWorld);echoredisget(test);php操作redis函数封装如果不传入host和port默认读取Laravel环境变量的参数redisSetsetex封装,可直接传入数组,可设置过期时间written:yangxingyifunctionRedisSet(key,value,expire0,host,port){if(!key!value)returnfalse;hosthost?host:getenv(REDISHOST);portport?port:getenv(REDISPORT);redisnewRedis();redisconnect(host,port);valueisarray(value)?jsonencode(value):value;returnexpire0?redissetex(getenv(REDISPREFIX)。key,expire,value):redisset(getenv(REDISPREFIX)。key,value);}redisget封装,如果传入的是数组,返回的也是数组,同理字符串written:yangxingyifunctionRedisGet(key,host,port){redisnewRedis();hosthost?host:getenv(REDISHOST);portport?port:getenv(REDISPORT);redisconnect(host,port);resultredisget(getenv(REDISPREFIX)。key);returnisnull(jsondecode(result))?result:jsondecode(result,true);}php操作redis大全,基本上php操作redis常用的函数都在下面了setex带生存时间的写入值redissetex(key,3600,value);setnx判断是否重复的,写入值,如存在了不修改返回0,不存在就添加返回1redissetnx(key,value);返回已经删除keyredisdelete(key1);成功返回1失败返回0redisdelete(key1,key2);删除两个键成功返回1失败返回0查询生存时间redisttl(key1);持久化的返回1,有生存时间的返回时间(单位秒)同时给多个key赋值,同时设置key0和key1redismset(array(key0value0,key1value1));key中的值进行自增1,如果填写了第二个参数,者自增第二个参数所填的值redisincr(key1);redisincrBy(key1,10);减法跟加法一样redisdecr(key1);减少1redisdecrBy(key1,5)减少5list相关操作,连表操作lPushredislPush(list,888);idredislpush(list,HHHHHHH);echoid;返回链表的元素个数redilrange(list,0,1);返回全部数据,数组形式redislrange(list,0,2);返回连表02坐标的三个元素lPushxrPushxredislPushx(key,value);在名称为key的list左边(头)右边(尾)添加一个值为value的元素,如果value已经存在,则不添加redislpop(list);输出链表最左边的ksy的值,输出后删除掉这个keyredisrpop(list);输出链表最右边的ksy的值,输出后删除掉这个keyredislset(list,7,update);修改坐标为7的值,成功返回1集合:sadd,sadd是无序的集合,每次插入集合的时候都可能会弄乱里面集合的排序sadds1zhangsansadds1lisisadds1wangwusaddt1yangxingyisaddt1lileisaddt1zhangsansmemberss1s1的所有集合内容sdiffs1t1s1有的,t1没有的,差集redissinter(s1,t1);返回s1和t1两个集合都有的,数组形式scards1返回s1集合里面的个数,有多少个就返回多少个,没有从0开始的,坐标才从0开始的spop抽奖场景,返回集合里面随机的数spops1默认返回1个,返回后就删除这个数,中奖了就不能再中了iredisspop(s1);vardump(i);返回一个数,返回后删除这个数iredisspop(s1,2);vardump(i);不能返回两个的,提示错误的随机返回集合里面的一个元素,但不删除,重复中奖iredissrandmember(s1);echoi;sismembers1zhangsan查询张三在不在集合里面,在1,不在falseiredissismember(s1,zhangsan2);echoi;在1,不在falsezaddkey2value有序集合zaddy11zhangsan;zaddy13lisi;zaddy12wangwu;zrangey101;排序就是,根据插入的时候的排序从小到达zhangsan,wangwu,lisiirediszrange(y1,0,1);vardump(i);返回数组,键值不是插入时候给的键,是从0开始的新键zrevrangey101;反转排序,插入的时候键值越高,排序越优先zcardy1;获取有序集合里面的个数,有多少个就返回多少个,没有从0开始的,坐标才从0开始的无序就scard,有序就zcard,有z没有ssInterStore求交集并将交集保存到output的集合redissInterStore(output,key1,key2,key3)Hash操作hSetredishSet(h,key1,hello);向名称为h的hash中添加元素key1hellohGetredishGet(h,key1);返回名称为h的hash中key1对应的value(hello)hLenredishLen(h);返回名称为h的hash中元素个数hDelredishDel(h,key1);删除名称为h的hash中键为key1的域hKeysredishKeys(h);返回名称为key的hash中所有键hValsredishVals(h)返回名称为h的hash中所有键对应的valuehGetAllredishGetAll(h);返回名称为h的hash中所有的键(field)及其对应的valuehExistsredishExists(h,a);名称为h的hash中是否存在键名字为a的域hIncrByredishIncrBy(h,x,2);将名称为h的hash中x的value增加2hMsetredishMset(user:1,array(nameJoe,salary2000));向名称为key的hash中批量添加元素hMGetredishmGet(h,array(field1,field2));返回名称为h的hash中field1,field2对应的valueredis操作相关flushDB清空当前数据库flushAll清空所有数据库randomKey随机返回key空间的一个keykeyredisrandomKey();select选择一个数据库move转移一个key到另外一个数据库redisselect(0);switchtoDB0redisset(x,42);write42toxredismove(x,1);movetoDB1redisselect(1);switchtoDB1redisget(x);willreturn42rename,renameKey给key重命名redisset(x,42);redisrename(x,y);redisget(y);42redisget(x);FALSErenameNx与remane类似,但是,如果重新命名的名字已经存在,不会替换成功setTimeout,expire设定一个key的活动时间(s)redissetTimeout(x,3);expireAtkey存活到一个unix时间戳时间redisexpireAt(x,time()3);keys,getKeys返回满足给定pattern的所有keykeyWithUserPrefixrediskeys(user);dbSize查看现在数据库有多少keycountredisdbSize();auth密码认证redisauth(foobared);bgrewriteaof使用aof来进行数据库持久化redisbgrewriteaof();slaveof选择从服务器redisslaveof(10。0。1。7,6379);save将数据同步保存到磁盘bgsave将数据异步保存到磁盘lastSave返回上次成功将数据保存到磁盘的Unix时戳info返回redis的版本信息等详情Redis::construct构造函数redisnewRedis();connect,open链接redis服务参数host:string,服务地址port:int,端口号timeout:float,链接时长(可选,默认为0,不限链接时间)注:在redis。conf中也有时间,默认为300pconnect,popen不会主动关闭的链接参考上面setOption设置redis模式getOption查看redis设置的模式ping查看连接状态get得到某个key的值(string值)如果该key不存在,returnfalseset写入key和value(string值)如果写入成功,returnturesetex带生存时间的写入值redissetex(key,3600,value);setskeyvalue,with1hTTL。setnx判断是否重复的,写入值redissetnx(key,value);redissetnx(key,value);delete删除指定key的值返回已经删除key的个数(长整数)redisdelete(key1,key2);redisdelete(array(key3,key4,key5));ttl得到一个key的生存时间persist移除生存时间到期的key如果key到期true如果不到期falsemset(redis版本1。1以上才可以用)同时给多个key赋值redismset(array(key0value0,key1value1));multi,exec,discard进入或者退出事务模式参数可选Redis::MULTI或Redis::PIPELINE。默认是Redis::MULTIRedis::MULTI:将多个操作当成一个事务执行Redis::PIPELINE:让(多条)执行命令简单的,更加快速的发送给服务器,但是没有任何原子性的保证discard:删除一个事务返回值multi(),返回一个redis对象,并进入multimode模式,一旦进入multimode模式,以后调用的所有方法都会返回相同的对象,只到exec()方法被调用。watch,unwatch(代码测试后,不能达到所说的效果)监测一个key的值是否被其它的程序更改。如果这个key在watch和exec(方法)间被修改,这个MULTIEXEC事务的执行将失败(returnfalse)unwatch取消被这个程序监测的所有key参数,一对key的列表rediswatch(x);retredismulti()incr(x)exec();subscribe方法回调。注意,该方法可能在未来里发生改变publish发表内容到某一个通道。注意,该方法可能在未来里发生改变exists判断key是否存在。存在true不在falseincr,incrBykey中的值进行自增1,如果填写了第二个参数,者自增第二个参数所填的值redisincr(key1);redisincrBy(key1,10);decr,decrBy做减法,使用方法同incrgetMultiple传参由key组成的数组返回参数如果key存在返回value,不存在返回falseredisset(key1,value1);redisset(key2,value2);redisset(key3,value3);redisgetMultiple(array(key1,key2,key3));redislRem(key1,A,2);redislRange(key1,0,1);list相关操作lPushredislPush(key,value);在名称为key的list左边(头)添加一个值为value的元素rPushredisrPush(key,value);在名称为key的list右边(尾)添加一个值为value的元素lPushxrPushxredislPushx(key,value);在名称为key的list左边(头)右边(尾)添加一个值为value的元素,如果value已经存在,则不添加lPoprPopredislPop(key);输出名称为key的list左(头)起右(尾)起的第一个元素,删除该元素blPopbrPopredisblPop(key1,key2,10);lpop命令的block版本。即当timeout为0时,若遇到名称为keyi的list不存在或该list为空,则命令结束。如果timeout0,则遇到上述情况时,等待timeout秒,如果问题没有解决,则对keyi1开始的list执行pop操作lSizeredislSize(key);返回名称为key的list有多少个元素lIndex,lGetredislGet(key,0);返回名称为key的list中index位置的元素lSetredislSet(key,0,X);给名称为key的list中index位置的元素赋值为valuelRange,lGetRangeredislRange(key1,0,1);返回名称为key的list中start至end之间的元素(end为1,返回所有)lTrim,listTrimredislTrim(key,start,end);截取名称为key的list,保留start至end之间的元素lRem,lRemoveredislRem(key,A,2);删除count个名称为key的list中值为value的元素。count为0,删除所有值为value的元素,count0从头至尾删除count个值为value的元素,count0从尾到头删除count个值为value的元素lInsert在名称为为key的list中,找到值为pivot的value,并根据参数Redis::BEFORERedis::AFTER,来确定,newvalue是放在pivot的前面,或者后面。如果key不存在,不会插入,如果pivot不存在,return1redisdelete(key1);redislInsert(key1,Redis::AFTER,A,X);redislPush(key1,A);redislPush(key1,B);redislPush(key1,C);redislInsert(key1,Redis::BEFORE,C,X);redislRange(key1,0,1);redislInsert(key1,Redis::AFTER,C,Y);redislRange(key1,0,1);redislInsert(key1,Redis::AFTER,W,value);rpoplpush返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部redisdelete(x,y);redislPush(x,abc);redislPush(x,def);redislPush(y,123);redislPush(y,456);movethelastofxtothefrontofy。vardump(redisrpoplpush(x,y));vardump(redislRange(x,0,1));vardump(redislRange(y,0,1));string(3)abcarray(1){〔0〕string(3)def}array(3){〔0〕string(3)abc〔1〕string(3)456〔2〕string(3)123}SET操作相关sAdd向名称为key的set中添加元素value,如果value存在,不写入,returnfalseredissAdd(key,value);sRem,sRemove删除名称为key的set中的元素valueredissAdd(key1,set1);redissAdd(key1,set2);redissAdd(key1,set3);redissRem(key1,set2);sMove将value元素从名称为srckey的集合移到名称为dstkey的集合redissMove(seckey,dstkey,value);sIsMember,sContains名称为key的集合中查找是否有value元素,有ture没有falseredissIsMember(key,value);sCard,sSize返回名称为key的set的元素个数sPop随机返回并删除名称为key的set中一个元素sRandMember随机返回名称为key的set中一个元素,不删除sInter求交集sInterStore求交集并将交集保存到output的集合redissInterStore(output,key1,key2,key3)sUnion求并集redissUnion(s0,s1,s2);s0,s1,s2同时求并集sUnionStore求并集并将并集保存到output的集合redissUnionStore(output,key1,key2,key3);sDiff求差集sDiffStore求差集并将差集保存到output的集合sMembers,sGetMembers返回名称为key的set的所有元素sort排序,分页等参数bysomepattern,limitarray(0,1),getsomeotherpatternoranarrayofpatterns,sortascordesc,alphaTRUE,storeexternalkey例子redisdelete(s);redissadd(s,5);redissadd(s,4);redissadd(s,2);redissadd(s,1);redissadd(s,3);vardump(redissort(s));1,2,3,4,5vardump(redissort(s,array(sortdesc)));5,4,3,2,1vardump(redissort(s,array(sortdesc,storeout)));(int)5string命令getSet返回原来key中的值,并将value写入keyredisset(x,42);exValueredisgetSet(x,lol);return42,replacesxbylolnewValueredisget(x)returnlolappendstring,名称为key的string的值在后面加上valueredisset(key,value1);redisappend(key,value2);redisget(key);getRange(方法不存在)返回名称为key的string中start至end之间的字符redisset(key,stringvalue);redisgetRange(key,0,5);redisgetRange(key,5,1);setRange(方法不存在)改变key的string中start至end之间的字符为valueredisset(key,Helloworld);redissetRange(key,6,redis);redisget(key);strlen得到key的string的长度redisstrlen(key);getBitsetBit返回2进制信息zset(sortedset)操作相关zAdd(key,score,member):向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序。rediszAdd(key,1,val1);rediszAdd(key,0,val0);rediszAdd(key,5,val5);rediszRange(key,0,1);array(val0,val1,val5)zRange(key,start,end,withscores):返回名称为key的zset(元素已按score从小到大排序)中的index从start到end的所有元素rediszAdd(key1,0,val0);rediszAdd(key1,2,val2);rediszAdd(key1,10,val10);rediszRange(key1,0,1);withscoresrediszRange(key1,0,1,true);zDelete,zRemzRem(key,member):删除名称为key的zset中的元素memberrediszAdd(key,0,val0);rediszAdd(key,2,val2);rediszAdd(key,10,val10);rediszDelete(key,val2);rediszRange(key,0,1);zRevRange(key,start,end,withscores):返回名称为key的zset(元素已按score从大到小排序)中的index从start到end的所有元素。withscores:是否输出socre的值,默认false,不输出rediszAdd(key,0,val0);rediszAdd(key,2,val2);rediszAdd(key,10,val10);rediszRevRange(key,0,1);withscoresrediszRevRange(key,0,1,true);zRangeByScore,zRevRangeByScorerediszRangeByScore(key,star,end,array(withscores,limit));返回名称为key的zset中scorestar且scoreend的所有元素zCountrediszCount(key,star,end);返回名称为key的zset中scorestar且scoreend的所有元素的个数zRemRangeByScore,zDeleteRangeByScorerediszRemRangeByScore(key,star,end);删除名称为key的zset中scorestar且scoreend的所有元素,返回删除个数zSize,zCard返回名称为key的zset的所有元素的个数zScorerediszScore(key,val2);返回名称为key的zset中元素val2的scorezRank,zRevRankrediszRevRank(key,val);返回名称为key的zset(元素已按score从小到大排序)中val元素的rank(即index,从0开始),若没有val元素,返回null。zRevRank是从大到小排序zIncrByrediszIncrBy(key,increment,member);如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为incrementzUnionzInter参数keyOutputarrayZSetKeysarrayWeightsaggregateFunctionEitherSUM,MIN,orMAX:definesthebehaviourtouseonduplicateentriesduringthezUnion。对N个zset求并集和交集,并将最后的集合保存在dstkeyN中。对于集合中每一个元素的score,在进行AGGREGATE运算前,都要乘以对于的WEIGHT参数。如果没有提供WEIGHT,默认为1。默认的AGGREGATE是SUM,即结果集合中元素的score是所有集合对应元素进行SUM运算的值,而MIN和MAX是指,结果集合中元素的score是所有集合对应元素中最小值和最大值。

智能家居基础之边缘计算和云计算云计算是一种利用互联网实现随时随地、高效快捷的运算模式。在智能家居领域,云计算应用比较广泛。多数智能家居的控制需要云计算的支持,特别是语音服务,更是需要云计算的加持才能实现。云……巧合还是刻意?中美俄要同月发射载人飞船,并且都带上女宇航员人类文明数千年以来,地球上只有3个国家具有载人航天能力,那就是中美俄三个国家。不知道是巧合还是刻意安排,中国、俄罗斯、美国都将在2021年10月份安排载人航天发射,历史首……入主国轩增资江淮,大众加速电动化暗藏玄机1hr入主国轩高科!增持江淮大众!当国内车市正举力救市之际,大众于上周连落两子,让车市为之一振。2hr5月28日晚,大众中国与国轩高科在京举行战略投资签约仪式。……帝瓦雷技术加持HiFi级智能音箱,华为SoundX正式发布11月25日,在上海U时尚艺术中心举行的华为MatePad及全场景新品发布会上,华为带来了全球首款震撼双低音HiRes智能音箱华为SoundX,其售价为1999元。这款由华为与……新国民旗舰!同级手机中最好屏幕联想Z5终结全面屏手机暴利时代作为移动通讯设备手机?自从进入到了智能时代,屏幕也越来越大显示效果也越来越好,毕竟屏幕第一时间将内容传达给用户,不管处理器如何,手机的快慢而最终的表现还有通过屏幕来传达的,也许……微众银行微业贷支持实体小微企业发展,提升服务实体经济能力今年是我国现代化建设进程中具有特殊重要性的一年。新的政府工作报告重点提到了继续为市场主体纾困、发挥创新驱动发展作用、深入实施绿色战略、创新供应链金融服务模式等内容,这些内容共同……平安普惠遂宁分公司开展河我一起守护碧水公益活动近日,平安普惠遂宁分公司总经理刘旭涛带领公司十余名员工来到船山区塔月湾河滩,开展河我一起守护碧水公益活动。连绵的阴雨让河滩变得泥泞难行,志愿者们不顾鞋和裤上的泥浆,徒步2……游戏帧数很高,为什么还是会卡顿?不论是看电影还是玩游戏,帧数这个概念相信是大家都略有耳闻的。比如我们经常遇到的各种慢镜头、定格或者加速播放等情况,其实都与帧数息息相关。什么是帧数?简单来说,我们看到的视……高油价难以负担!排灯节前夕印度宣布下调燃油税财联社(上海,编辑潇湘)讯,随着全球原油价格飙升将印度国内的燃料价格推至创纪录高位,印度民众正愈发难以负担得起高昂的油价,印度政府周三(11月3日)终于宣布将下调该国汽油和柴油……电脑小常识3最经工作比较忙,各位见谅,不多说,直奔话题。相信各位小伙伴应该遇到过以下问题:你是逗遇到过呢?这是因为我们在装不同的主板的同时另一个硬盘的数据和外设硬件驱动不同就会导致蓝……十年前的雪乡是这样滴雪乡,被认为是中国冬天里的一个童话世界。其独特的地理位置和特殊的气候条件造就了雪乡奇特的雪域世界。一到冬季,雪乡游人如织,特别是寒假期间,雪乡更是人满为患。有关雪乡的照片、文字……德国超级选举年打响!民调显示默克尔所属政党将遭重创截止目前,德国疫情的最新情况:3月14日,新增确诊10790人,新增死亡70例。据RKI发布的疫苗接种数据显示,截至3月11日,总共有5756572人接种了第一剂,占德国……
微信又更新了!网友直呼真香啊你发现了吗?微信又悄悄更新了!这次都有哪些新功能呢?快跟小编一起来了解下这两天,微信表情都戴医用口罩了登上热搜,引发网友广泛关注。赶快查看下自己手机微信……更智能更绿色更融合跨越山海中国轨道交通迈向智慧未来装备制造业是国之重器,而我国轨道交通装备制造业是创新驱动和绿色发展的典型代表,更是中国制造走向世界的一张亮丽名片。在湖南省株洲市近日举办的2021中国国际轨道交通和装备制……淮南和芜湖谁是安徽第二大城市?我们淮南人勤劳,勤奋,造福一方,曾经是全国著名的十矿,三厂。为社会主义建设,立下汗马功劳,评论的人,嘴上积点德,淮南人怎么你了,我们挖煤的时候,你还没出生来,,现在的社会,什么……追击小米,三星发布会新品全曝光,四款都有新惊喜今年的旗舰机市场可谓是惊喜不断,而随着下半年的到来,三星也宣布了自家新机的发布会时间。根据三星公布的消息,三星将会在8月11日召开GalaxyUnpacked新品发布会,本次发……如何看待没有小米,也会有其它厂商把手机价格拉低的言论?这个观点我认同,这是生意的本质,如果和竞争对手拼不了品牌效应,那就拼价格!因为只有足够震惊的价格才能真正地出圈!要么是非常高,然后再降维打击;要么是通过低价撕开市场的缺口!这都……哪些科学技术一旦获得突破,将会让人类文明实现飞跃?为什么?在过去的一百多年里,理论基础科学并没有太大的突破,这不禁让人感慨:在距离1666年牛顿奇迹年、1905年爱因斯坦奇迹年的354年、115年后,今天的科学是否走到了一个临界点。……花费5小时整理,梳理了锂电池公司21家,磷酸铁锂供不应求花费5小时整理,梳理了锂电池公司21家,磷酸铁锂供不应求,新能源黄金赛道磷酸铁锂未来3年估值处于高增长期,预期增长空间8到12倍。整理给大家做参考研究,锂电池行业受到市场……为什么苹果八九千专卖店还大排长龙,华为五六千却被骂的死惨?经常步行去超市,距离超市200多米有个苹果店,每次路过,店内都只有店小二,一个顾客也不见。大排长龙的是对面的卤菜店。说白了。美国打压中国的问题。如果服从美国,华为宇宙第一……警惕!拼夕夕正在击垮中国制造想必大家或多或少都有过被拼夕夕恶心到的经历吧。只要手机上还有拼夕夕这个APP,不管你用不用每天总是会有几十上百条通知挂在图标上!还有让人恶心到吐的领现金,先给你抛个大蛋糕,然后……我为什么要重仓虹软科技虹软科技:科创板里可以列入前三的真正有核心科技的公司,虹软科技2018年研发投入占营业收入比重最高,达到了32。42;一家可以与商汤科技和旷世科技对标的公司;主要做视觉计算SD……奔驰EQG渲染图曝光,纯电动大G外观硬派并且很有未来感近日,有海外媒体绘制了一组奔驰EQG的渲染图,它是一款纯电动的大G,外观硬派并且很有未来感。之前就有传言称奔驰将会推出纯电动版的大G,那么它的名称无疑会被命名为EQG了。……坚瑞沃能引进新战投称韩方技术团队已到位本报见习记者殷高峰深陷债务危机的坚瑞沃能在战投引进方面近日有了新的进展。目前韩方技术团队已经到位,恢复生产所需的人员正在配置。坚瑞沃能相关负责人告诉《证券日报》记者。……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网