访问连接
远程访问 //实例化 $redis=new Redis(); try{ $redis->connect('47.98.55.11','6379'); $redis->auth('123456'); echo $redis->ping(); }catch (Exception $e){ echo $e->getMessage(); }
字符串操作(string)
//设置 $redis->set('name','jack'); //只有key不能存在时才有效,没有修改效果 $redis->setnx('name','jack'); //读取 echo $redis->get('name');
列表(list)存入
//左侧存入 $redis->lPush('list','css');
//读取所有 $list=$redis->lRange('list','0','-1'); print_r($list); //获取列表长度 echo $redis->lSize('list'); //按照索引取值 echo $redis->lGet('list',2); echo $redis->lindex('list',3); //按照索引范围取值 $list=$redis->lRange('list',0,2); print_r($list); //列表截取,截取的部分保留,其他删除,成功返回1 $ret=$redis->lTrim('list',0,1); print_r($ret); //删除 //删除列表中value为python的元素count个,count为正从左边开始,反之同理,count为0表示删除所有值为python的 $redis->lRem('list','python',1);
列表实现队列
//实例化 $redis=new Redis(); try{ $redis->pconnect('47.98.55.11','6379');//守护进程 $redis->auth('123456'); echo $redis->ping(); }catch (Exception $e){ echo $e->getMessage(); } echo '<hr/>'; for($i=0;$i<50;$i++){ try{ $redis->lPush('click',rand(1000,5000)); }catch (Exception $e){ echo $e->getMessage(); } } //取数据 while (true){ try{ $value=$redis->rPop('click'); if(!$value){ break; } }catch (Exception $e){ echo $e->getMessage(); } }
字典(hash)
设置 //返回1设置成功,0表示失败,如果有值,则是修改,返回0 echo $redis->hSet('hash','username','rose'); //读取 echo $redis->hGet('hash','age'); //读取所有的keys $ret=$redis->hKeys('hash'); print_r($ret); //读取所有的val,顺序是随机的 $ret=$redis->hVals('hash'); //读取所有的key-val,顺序是随机的 $ret=$redis->hGetAll('hash'); //hsah的长度 $ret=$redis->hLen('hash'); //删除指定key的键值对,成功返回true,失败返回false echo $redis->hDel('hash','age'); //存入字典 $arr=['uaername'=>'jack','age'=>23,'gender'=>'boy']; $redis->hMSet('userinfo',$arr); //指定对个key获取内容 $arr_key=['username','gender']; $ret=$redis->hMGet('userinfo',$arr_key); //判断某个key是否存在 $ret=$redis->hExists('userinfo','age'); //值只能为整数,不存在设置,存在的话自增2, $ret=$redis->hIncrBy('userinfo','1',2); //小数,存在则自增,不存在则则增加 $ret=$redis->hIncrByFloat('userinfo','3',1.5);
无序集合(set)
//添加元素 $ret=$redis->sAdd('fruits','冬瓜'); //删除元素 $ret=$redis->sRem('fruits','地瓜'); //判断是否是成员 $ret=$redis->sIsMember('fruits','南瓜'); //查看数据长度 $ret=$redis->sCard('fruits'); //随机删除元素,并返回删除的值 $ret=$redis->sPop('fruits'); //交集 $ret=$redis->sInter('f1','f2'); //获取交集并放到集合output中 $redis->sInterStore('output','f1','f2'); //并集 $ret=$redis->sUnion('f1','f2'); //并集,并放到output中 $ret=$redis->sUnionStore('output','f1','f2'); //差集f1-f2 $ret=$redis->sDiff('f1','f2'); //差集f1-f2,并保存到集合output $ret=$redis->sDiffStore('output','f1','f2'); //查看集合所有内容 $ret=$redis->sMembers('fruits');
有序集合(Sorted Set)
//增加 $redis->zadd('s1', 1, 'ab'); //删除指定成员 echo $redis->zRem('s1','ef'); / zincrby 对指定元素分数值的增减 $redis->zincrby('s1', 2, 'ab'); //返回score echo $redis->zscore('s1', 'ef'); //移除指定元素 $redis->zrem('s1', 'ef'); 按分数值返回元素 $redis->zrangebyscore('s1', 2, 9); // 返回分数值2-9之间的元素 $redis->zrangebyscore('s1', 2, 9, 'withscores'); // 返回分数值2-9之间的元素,并包含分数值所在元素 //查看集合所有内容 $ret=$redis->zRange('s1',0,-1); //返回集合长度 print_r($redis->zcard('s1'));
其他
后续补充