string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象
$redis->set(key,TK); $redis->set(number,1); $redis->setex(key,5,TK);//设置有效期为5秒的键值 $redis->psetex(key,5000,TK);//设置有效期为5000毫秒(同5秒)的键值 $redis->setnx(key,XK);//若键值存在返回false不存在返回true $redis->delete(key);删除键值可以传入数组array(key1,key2)删除多个键 $redis->getSet(key,XK);//将键key的值设置为XK,并返回这个键值原来的值TK $ret=$redis->multi()//批量事务处理,不保证处理数据的原子性 ->set(key1,val1)->get(key1)->setnx(key,val2)->get(key2)->exec(); $redis->watch(key);//监控键key是否被其他客户端修改 如果KEY在调用watch()和exec()之间被修改,exec失败 functionf($redis,$chan,$msg){//频道订阅switch($chan){casechan-1:echo$msg;break;casechan-2:echo$msg;break;casechan-2:echo$msg;break;}}$redis->subscribe(array(chan-1,chan-2,chan-3),f);//subscribeto3chans$redis->publish(chan-1,hello,world!);//sendmessage. $redis->exists(key);//验证键是否存在,存在返回true $redis->incr(number);//键值加1 $redis->incrby(number,-10);//键值加减10 $redis->incrByFloat(number,+/-1.5);//键值加减小数 $redis->decr(number);//键值减1 $redis->decrBy(number,10);//键值减10 $mget=$redis->mget(array(number,key));//批量获取键值,返回一个数组 $redis->mset(array(key0=>value0,key1=>value1));//批量设置键值 $redis->msetnx(array(key0=>value0,key1=>value1));//批量设置键值,类似将setnx()方法批量操作 $redis->append(key,-Smudge);//原键值TK,将值追加到键值后面,键值为TK-Smudge $redis->getRange(key,0,5);//键值截取从0位置开始到5位置结束 $redis->getRange(key,-6,-1);//字符串截取从-6(倒数第6位置)开始到-1(倒数第1位置)结束 $redis->setRange(key,0,Smudge); //键值中替换字符串,0表示从0位置开始有多少个字符替换多少位置,其中汉字占2个位置 $redis->strlen(key);//键值长度 $redis->getBit(key); $redis->setBit(key);**(storedset)和set一样是字符串的集合,不同的是每个元素都会关联一个double类型的score
redis的list类型其实就是一个每个子元素都是string类型的双向链表。** $redis->zAdd(tkey,1,A); //插入集合tkey中,A元素关联一个分数,插入成功返回1同时集合元素不可以重复,如果元素已经存在返回0 $redis->zRange(tkey,0,-1);//获取集合元素,从0位置到-1位置 $redis->zRange(tkey,0,-1,true);//获取集合元素,从0位置到-1位置,返回一个关联数组带分数array([A]=>0.01,[B]=>0.02,[D]=>0.03)其中小数来自zAdd方法第二个参数 $redis->zDelete(tkey,B);//移除集合tkey中元素B成功返回1失败返回0 $redis->zRevRange(tkey,0,-1);//获取集合元素,从0位置到-1位置,数组按照score降序处理$redis->zRevRange(tkey,0,-1,true);//获取集合元素,从0位置到-1位置,数组按照score降序处理返回score关联数组 $redis->zRangeByScore(tkey,0,0.2,array(withscores=>true));//获取几个tkey中score在区间[0,0.2]元素,score由低到高排序,元素具有相同的score,那么会按照字典顺序排列,withscores控制返回关联数组 $redis->zRangeByScore(tkey,0.1,0.36,array(withscores=>TRUE,limit=>array(0,1)));//其中limit中0和1表示取符合条件集合中从0位置开始,向后扫描1个返回关联数组 $redis->zCount(tkey,2,10);//获取tkey中score在区间[2,10]元素的个数 $redis->zRemRangeByScore(tkey,1,3);//移除tkey中score在区间[1,3](含边界)的元素 $redis->zRemRangeByRank(tkey,0,1); //默认元素score是递增的,移除tkey中元素从0开始到-1位置结束 $redis->zSize(tkey);//返回存储在key对应的有序集合中的元素的个数 $redis->zScore(tkey,A);//返回集合tkey中元素A的score值 $redis->zRank(tkey,A); //返回集合tkey中元素A的索引值 z集合中元素按照score从低到高进行排列,即最低的scoreindex索引为0 $redis->zIncrBy(tkey,2.5,A);//将集合tkey中元素A的score值加2.5 $redis->zUnion(union,array(tkey,tkey1));//将集合tkey和集合tkey1元素合并于集合union,并且新集合中元素不能重复返回新集合的元素个数,如果元素A在tkey和tkey1都存在,则合并后的元素A的score相加 $redis->zUnion(ko2,array(k1,k2),array(5,2));//集合k1和集合k2并集于k02,array(5,1)中元素的个数与子集合对应,然后5对应k1k1每个元素score都要乘以5,同理1对应k2,k2每个元素score乘以1然后元素按照递增排序,默认相同的元素score(SUM)相加 $redis->zUnion(ko2,array(k1,k2),array(10,2),MAX);//各个子集乘以因子之后,元素按照递增排序,相同的元素的score取最大值(MAX)也可以设置MIN取最小值 $redis->zInter(ko1,array(k1,k2));//集合k1和集合k2取交集于k01,且按照score值递增排序如果集合元素相同,则新集合中的元素的score值相加 $redis->zInter(ko1,array(k1,k2),array(5,1));//集合k1和集合k2取交集于k01,array(5,1)中元素的个数与子集合对应,然后5对应k1k1每个元素score都要乘以5,同理1对应k2,k2每个元素score乘以1,然后元素score按照递增排序,默认相同的元素score(SUM)相加 $redis->zInter(ko1,array(k1,k2),array(5,1),MAX);//各个子集乘以因子之后,元素score按照递增排序,相同的元素score取最大值(MAX)也可以设置MIN取最小值redishash是一个string类型的field和value的映射表.它的添加,删除操作都是O(1)(平均).hash特别适合用于存储对象。
$redis->hSet(h,name,TK);//在h表中添加name字段value为TK $redis->hSetNx(h,name,TK); //在h表中添加name字段value为TK如果字段name的value存在返回false否则返回true $redis->hGet(h,name);//获取h表中name字段value $redis->hLen(h);//获取h表长度即字段的个数 $redis->hDel(h,email);//删除h表中email字段 $redis->hKeys(h);//获取h表中所有字段 $redis->hVals(h);//获取h表中所有字段value $redis->hGetAll(h);//获取h表中所有字段和value返回一个关联数组(字段为键值) $redis->hExists(h,email);//判断email字段是否存在与表h不存在返回false $redis->hSet(h,age,28); $redis->hIncrBy(h,age,-2); //设置h表中age字段value加(-2)如果value是个非数值则返回false否则,返回操作后的value $redis->hIncrByFloat(h,age,-0.33);//设置h表中age字段value加(-2.6)如果value是个非数值则返回false否则返回操作后的value(小数点保留15位) $redis->hMset(h,array(score=>80,salary=>2000));//表h批量设置字段和value全选复制放进笔记
$redis->hMGet(h,array(score,salary));//表h批量获取字段的value本文内容总结:String类型操作,list链表操作,Set集合类型,Zset数据类型,Hash数据类型,
原文链接:https://www.cnblogs.com/jackluo/p/5708024.html