分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

php redis类

发布时间:2023-09-06 02:15责任编辑:熊小新关键词:redis
<?phpclass phpredis extends Redis{ ???/* ????构造函数:实例化redis类 ????@param config redis配置,格式: ???????????array( ???????????????‘host‘ => ‘x.x.x.x‘, ???# 主机 ???????????????‘port‘ => ‘xx‘, ????????# 端口 ???????????????‘pass‘ => ‘xxxx‘ ???????# 密码 ???????????) ????*/ ???public function __construct($config){ ???????$host = $config[‘host‘]; ???????$port = $config[‘port‘]; ???????$pass = $config[‘pass‘]; ???????$this->connect($host,$port); ???????if($pass){ ???????????$this->auth($pass); ???????} ???} ???//**********// ???// ?字符串 // ???//**********// ???/* ????设置过期时间 ????@param ????string ?????key ????键 ????@param ????string ?????expire ?过期时间,单位:秒 ????@param ????string ?????value ??值 ????@return ???bool ???????ret ????true:设置成功;false:设置失败 ????*/ ???public function rsetexp($key,$expire,$value){ ???????$ret = $this->setEx($key,$expire,$value); ???????return $ret; ???} ???//**********// ???// ?数据库 // ???//**********// ???/* ????添加 ????@param ????string ?????table ??数据表名 ????@param ????string ?????id ?????数据对应的id ????@param ????array ??????data ???存入的数据 ????@return ???array ??????ret ????格式: ???????????????????????????????????????array( ???????????????????????????????????????????0 => true, ???????????????????????????????????????????1 => false, ???????????????????????????????????????????... ???????????????????????????????????????) ????*/ ???public function radd($table,$id,$data){ ???????$this->multi(); ???????$this->hMSet( ???????????$table.‘_‘.$id, ???????????$data ???????); ???????$this->sAdd($table.‘_id‘,$id); ???????$ret = $this->exec(); ???????return $ret; ???} ???/* ????删除 ????@param ????string ?????table ??数据表名 ????@param ????string ?????id ?????数据表名对应的id ????@return ???array ??????ret ????格式: ???????????????????????????????????????array( ???????????????????????????????????????????0 => true, ???????????????????????????????????????????1 => false, ???????????????????????????????????????????... ???????????????????????????????????????) ????*/ ???public function rdelete($table,$id){ ???????$this->multi(); ???????$this->del($table.‘_‘.$id); ???????$this->sRem($table.‘_id‘,$id,0); ???????$ret = $this->exec(); ???????return $ret; ???} ???/* ????修改 ????@param ????string ?????table ??????数据表名 ????@param ????string ?????id ?????????数据对应的id ????@param ????array ??????data ???????修改的数据 ????@return ???bool ???????ret ????????true:修改成功;false:修改失败 ????*/ ???public function rupdate($table,$id,$data){ ???????$ret = $this->hMSet( ???????????$table.‘_‘.$id, ???????????$data ???????); ???????return $ret; ???} ???/* ????查询(数据表总长度) ????@param ????string ?????table ??????数据表名 ????@return ???string ?????ret ????????数据库记录数 ????*/ ???public function rcount($table){ ???????$ret = $this->sCard($table.‘_id‘); ???????return $ret; ???} ???/* ????查询(列表) ????@param ????string ?????????table ??????表名 ????@param ????string ?????????page ???????当前页数 ????@param ????string ?????????pagesize ???每页显示条数 ????@return ???array(多维) ??ret ????????格式: ???????????????????????????????????????????????array( ???????????????????????????????????????????????????array(‘id‘=>‘1‘,...), ???????????????????????????????????????????????????array(‘id‘=>‘2‘,...), ???????????????????????????????????????????????????... ???????????????????????????????????????????????) ????*/ ???public function rgetall($table,$page,$pagesize){ ???????$ret = array(); ???????$ret1 = $this->sort( ???????????$table.‘_id‘, ???????????array( ???????????????‘alpha‘ => false, ???????????????‘limit‘ => array($page - 1,$pagesize), ???????????????‘sort‘ => ‘desc‘ ???????????) ???????); ???????foreach($ret1 as $id){ ???????????$ret2 = $this->hGetAll($table.‘_‘.$id); ???????????array_push($ret,$ret2); ???????} ???????return $ret; ???} ???/* ????查询(多列) ????@param ????string ?????????table ??表名 ????@param ????string ?????????id ?????数据对应的id ????@param ????array ??????????data ???要查询的字段 ????@return ???array(一维) ??ret ????格式: ???????????????????????????????????????????array( ???????????????????????????????????????????????‘id‘ ???=> ?‘1‘, ???????????????????????????????????????????????‘name‘ ?=> ?‘‘, ???????????????????????????????????????????????... ???????????????????????????????????????????) ????*/ ???public function rgetrow($table,$id,$data){ ???????$ret = $this->hMget( ???????????????????????$table.‘_‘.$id, ???????????????????????$data ???????????????????); ???????return $ret; ???} ???/* ????查询(详情) ????@param ????string ?????table ??????表名 ????@param ????string ?????id ?????????数据对应的id ????@param ????string ?????field ??????对应的字段 ????@return ???string ?????ret ????????查询到的值 ????*/ ???public function rgetone($table,$id,$field){ ???????$ret = $this->hget( ???????????????????????$table.‘_‘.$id, ???????????????????????$field ???????????????????); ???????return $ret; ???} ???/* ????清除缓存(数据表) ????@param ????string ?????table ??????表名 ????@param ????array ??????ret ????????格式: ???????????????????????????????????????????array( ???????????????????????????????????????????????0 => true, ???????????????????????????????????????????????1 => false, ???????????????????????????????????????????????... ???????????????????????????????????????????) ????*/ ???public function rflush($table){ ???????$this->multi(); ???????$ret1 = $this->sort( ???????????$table.‘_id‘, ???????????array( ???????????????‘alpha‘ => false, ???????????????‘sort‘ => ‘desc‘ ???????????) ???????); ???????foreach($ret1 as $id){ ???????????$this->del($table.‘_‘.$id); ???????} ???????$this->del($table.‘_id‘); ???????$ret = $this->exec(); ???????return $ret; ???} ???/* ????清空缓存(数据库) ????@param ????void ????@return ???bool ret true:清除成功,false:清除失败 ????*/ ???public function rflushall(){ ???????$ret = $this->flushAll(); ???????return $ret; ???} ???//**********// ???// ?队列 ?????// ???//**********// ???/* ????入队 ????@param ????string ?????name ???????队列名 ????@param ????string ?????value ??????队列值 ????@return ???bool ???????ret ????????true:入队成功,false:入队失败 ????*/ ???public function rgetin($name,$value){ ???????$ret = $this->rPush($name,$value); ???????return $ret; ???} ???/* ????出队 ????@param ????string ?????????name ???????队列名 ????@return ???bool/string ????ret ????????string:取值成功,false:取值失败 ????*/ ???public function rgetout($name){ ???????$value = $this->lPop($name); ???????return $value; ???} ???//**********// ???// ?排行榜 // ???//**********// ???/* ????添加成员 ????@param ????string ?????name ???????榜单名 ????@param ????string ?????member ?????成员 ????@param ????string ?????score ??????分数 ????@return ???bool ???????ret ????????true:添加成功,flase:添加失败 ????*/ ???public function rzadd($name,$member,$score){ ???????$ret = $this->zAdd($name,$score,$member); ???????return $ret; ???} ???/* ????删除成员 ????@param ????string ?????name ???????榜单名 ????@param ????string ?????member ?????成员 ????@return ???bool ???????ret ????????true:删除成功,flase:删除失败 ????*/ ???public function rzdelete($name,$member){ ???????$ret = $this->zRem($name,$member); ???????return $ret; ???} ???/* ????为指定成员增加分数 ????@param ????string ?????name ???????榜单名 ????@param ????string ?????member ?????成员 ????@param ????string ?????score ??????分数,可以为负数 ????@return ???string ?????ret ????????更新后的分数 ????*/ ???public function rzupdate($name,$member,$score){ ???????$ret = $this->zIncrBy($name,$score,$member); ???????return $ret; ???} ???/* ????查询成员列表(由分数进行排序) ????@param ????string ?????name ???????榜单名 ????@param ????string ?????page ???????当前页数 ????@param ????string ?????pagesize ???每页显示条数 ????@param ????bool ???????dir ????????排列方式,true:分数从高到低,false:分数从低到高 ????@return ???array ??????ret ????????格式: ???????????????????????????????????????????array( ???????????????????????????????????????????????‘member1‘ => ‘score1‘, ???????????????????????????????????????????????‘member2‘ => ‘score2‘, ???????????????????????????????????????????????... ???????????????????????????????????????????) ????*/ ???public function rzgetmember($name,$page,$pagesize,$dir = true){ ???????$start = ($page - 1) * $pagesize; ???????$end = $page * $pagesize; ???????if($dir){ ???????????$ret = $this->zRevRange($name,$start,$end,true); ???????}else{ ???????????$ret = $this->zRange($name,$start,$end,true); ???????} ???????return $ret; ???} ???/* ????查询成员分数 ????@param ????string ?????name ???????榜单名 ????@param ????string ?????member ?????成员名 ????@return ???string ?????ret ????????分数 ????*/ ???public function rzgetscore($name,$member){ ???????$ret = $this->zScore($name,$member); ???????return $ret; ???} ???//**********// ???// ?团队 ?????// ???//**********// ???/* ????向团队中添加成员 ????@param ????string ?????team ???????团队名 ????@param ????string ?????member ?????成员名 ????@return ???number ?????ret ????????返回添加成员的数量 ????*/ ???public function rsadd($team,$member){ ???????$ret = $this->sAdd($team,$member); ???????return $ret; ???} ???/* ????从团队中删除成员 ????@param ????string ?????team ???????团队名 ????@param ????string ?????member ?????成员名 ????@return ???number ?????ret ????????返回删除成员的数量 ????*/ ???public function rsdelete($team,$member){ ???????$ret = $this->sRem($team,$member); ???????return $ret; ???} ???/* ????查询团队中的成员数量 ????@param ????string ?????team ???????团队名 ????@return ???string/0 ???ret ????????返回团队中的成员数量或0查询失败 ????*/ ???public function rsteamnum($team){ ???????$ret = $this->sCard($team); ???????return $ret; ???} ???/* ????判断成员是否属于团队 ????@param ????string ?????team ???????团队名 ????@param ????string ?????member ?????成员名 ????@return ???bool ???????ret ????????true:成员属于团队,flase:成员不属于团队 ????*/ ???public function rsisinteam($team,$member){ ???????$ret = $this->sIsMember($team,$member); ???????return $ret; ???} ???/* ????求两个或多个团队的共同成员 ????@param ????string ?????team1 ??????团队1 ????@param ????string ?????team1 ??????团队2 ????@return ???array ??????ret ????????两个团队的交集 ????*/ ???public function rsteamcommon($team1,$team2){ ???????$ret = $this->sInter($team1,$team2); ???????return $ret; ???}}// $config = array(// ?????????‘host‘ => ‘127.0.0.1‘,// ?????????‘port‘ => ‘6379‘,// ?????????‘pass‘ => ‘zz123456‘,// ?????);// $phpredis = new phpredis($config);// $name = "yyyy";// $value = ‘nnnn‘;// $phpredis->set($name,$value);// $ret = $phpredis->get($name);// echo $ret;

php redis类

原文地址:http://blog.51cto.com/12173069/2177925

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved