蝙蝠岛资源网 Design By www.hbtsch.com
本文实例讲述了PHP实现的Redis操作通用类。分享给大家供大家参考,具体如下:
找到一个比较全的Redis PHP操作类库,分享给大家
<"+inf",$option=array())
{
return $this->redis->zRangeByScore($key,$start,$end,$option);
}
/**
* 集合以order递减排列后,返回指定order之间的元素。
* min和max可以是-inf和+inf 表示最大值,最小值
* @param string $key
* @param int $start
* @param int $end
* @package array $option 参数
* withscores=>true,表示数组下标为Order值,默认返回索引数组
* limit=>array(0,1) 表示从0开始,取一条记录。
* @return array|bool
*/
public function zRevRangeByScore($key,$start='-inf',$end="+inf",$option=array())
{
return $this->redis->zRevRangeByScore($key,$start,$end,$option);
}
/**
* 返回order值在start end之间的数量
* @param unknown $key
* @param unknown $start
* @param unknown $end
*/
public function zCount($key,$start,$end)
{
return $this->redis->zCount($key,$start,$end);
}
/**
* 返回值为value的order值
* @param unknown $key
* @param unknown $value
*/
public function zScore($key,$value)
{
return $this->redis->zScore($key,$value);
}
/**
* 返回集合以score递增加排序后,指定成员的排序号,从0开始。
* @param unknown $key
* @param unknown $value
*/
public function zRank($key,$value)
{
return $this->redis->zRank($key,$value);
}
/**
* 返回集合以score递增加排序后,指定成员的排序号,从0开始。
* @param unknown $key
* @param unknown $value
*/
public function zRevRank($key,$value)
{
return $this->redis->zRevRank($key,$value);
}
/**
* 删除集合中,score值在start end之间的元素 包括start end
* min和max可以是-inf和+inf 表示最大值,最小值
* @param unknown $key
* @param unknown $start
* @param unknown $end
* @return 删除成员的数量。
*/
public function zRemRangeByScore($key,$start,$end)
{
return $this->redis->zRemRangeByScore($key,$start,$end);
}
/**
* 返回集合元素个数。
* @param unknown $key
*/
public function zCard($key)
{
return $this->redis->zCard($key);
}
/*********************队列操作命令************************/
/**
* 在队列尾部插入一个元素
* @param unknown $key
* @param unknown $value
* 返回队列长度
*/
public function rPush($key,$value)
{
return $this->redis->rPush($key,$value);
}
/**
* 在队列尾部插入一个元素 如果key不存在,什么也不做
* @param unknown $key
* @param unknown $value
* 返回队列长度
*/
public function rPushx($key,$value)
{
return $this->redis->rPushx($key,$value);
}
/**
* 在队列头部插入一个元素
* @param unknown $key
* @param unknown $value
* 返回队列长度
*/
public function lPush($key,$value)
{
return $this->redis->lPush($key,$value);
}
/**
* 在队列头插入一个元素 如果key不存在,什么也不做
* @param unknown $key
* @param unknown $value
* 返回队列长度
*/
public function lPushx($key,$value)
{
return $this->redis->lPushx($key,$value);
}
/**
* 返回队列长度
* @param unknown $key
*/
public function lLen($key)
{
return $this->redis->lLen($key);
}
/**
* 返回队列指定区间的元素
* @param unknown $key
* @param unknown $start
* @param unknown $end
*/
public function lRange($key,$start,$end)
{
return $this->redis->lrange($key,$start,$end);
}
/**
* 返回队列中指定索引的元素
* @param unknown $key
* @param unknown $index
*/
public function lIndex($key,$index)
{
return $this->redis->lIndex($key,$index);
}
/**
* 设定队列中指定index的值。
* @param unknown $key
* @param unknown $index
* @param unknown $value
*/
public function lSet($key,$index,$value)
{
return $this->redis->lSet($key,$index,$value);
}
/**
* 删除值为vaule的count个元素
* PHP-REDIS扩展的数据顺序与命令的顺序不太一样,不知道是不是bug
* count>0 从尾部开始
* >0 从头部开始
* =0 删除全部
* @param unknown $key
* @param unknown $count
* @param unknown $value
*/
public function lRem($key,$count,$value)
{
return $this->redis->lRem($key,$value,$count);
}
/**
* 删除并返回队列中的头元素。
* @param unknown $key
*/
public function lPop($key)
{
return $this->redis->lPop($key);
}
/**
* 删除并返回队列中的尾元素
* @param unknown $key
*/
public function rPop($key)
{
return $this->redis->rPop($key);
}
/*************redis字符串操作命令*****************/
/**
* 设置一个key
* @param unknown $key
* @param unknown $value
*/
public function set($key,$value)
{
return $this->redis->set($key,$value);
}
/**
* 得到一个key
* @param unknown $key
*/
public function get($key)
{
return $this->redis->get($key);
}
/**
* 设置一个有过期时间的key
* @param unknown $key
* @param unknown $expire
* @param unknown $value
*/
public function setex($key,$expire,$value)
{
return $this->redis->setex($key,$expire,$value);
}
/**
* 设置一个key,如果key存在,不做任何操作.
* @param unknown $key
* @param unknown $value
*/
public function setnx($key,$value)
{
return $this->redis->setnx($key,$value);
}
/**
* 批量设置key
* @param unknown $arr
*/
public function mset($arr)
{
return $this->redis->mset($arr);
}
/*************redis 无序集合操作命令*****************/
/**
* 返回集合中所有元素
* @param unknown $key
*/
public function sMembers($key)
{
return $this->redis->sMembers($key);
}
/**
* 求2个集合的差集
* @param unknown $key1
* @param unknown $key2
*/
public function sDiff($key1,$key2)
{
return $this->redis->sDiff($key1,$key2);
}
/**
* 添加集合。由于版本问题,扩展不支持批量添加。这里做了封装
* @param unknown $key
* @param string|array $value
*/
public function sAdd($key,$value)
{
if(!is_array($value))
$arr=array($value);
else
$arr=$value;
foreach($arr as $row)
$this->redis->sAdd($key,$row);
}
/**
* 返回无序集合的元素个数
* @param unknown $key
*/
public function scard($key)
{
return $this->redis->scard($key);
}
/**
* 从集合中删除一个元素
* @param unknown $key
* @param unknown $value
*/
public function srem($key,$value)
{
return $this->redis->srem($key,$value);
}
/*************redis管理操作命令*****************/
/**
* 选择数据库
* @param int $dbId 数据库ID号
* @return bool
*/
public function select($dbId)
{
$this->dbId=$dbId;
return $this->redis->select($dbId);
}
/**
* 清空当前数据库
* @return bool
*/
public function flushDB()
{
return $this->redis->flushDB();
}
/**
* 返回当前库状态
* @return array
*/
public function info()
{
return $this->redis->info();
}
/**
* 同步保存数据到磁盘
*/
public function save()
{
return $this->redis->save();
}
/**
* 异步保存数据到磁盘
*/
public function bgSave()
{
return $this->redis->bgSave();
}
/**
* 返回最后保存到磁盘的时间
*/
public function lastSave()
{
return $this->redis->lastSave();
}
/**
* 返回key,支持*多个字符,"\n";
//重新设置新消息
$this->lPush($lkey, $key);
$this->setex($key, 3600, $msg);
return $key;
}
/**
* 得到条批量删除key的命令
* @param unknown $keys
* @param unknown $dbId
*/
public function delKeys($keys,$dbId)
{
$redisInfo=$this->getConnInfo();
$cmdArr=array(
'redis-cli',
'-a',
$redisInfo['auth'],
'-h',
$redisInfo['host'],
'-p',
$redisInfo['port'],
'-n',
$dbId,
);
$redisStr=implode(' ', $cmdArr);
$cmd="{$redisStr} KEYS \"{$keys}\" | xargs {$redisStr} del";
return $cmd;
}
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+redis数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP基本语法入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
标签:
PHP,Redis,通用类
蝙蝠岛资源网 Design By www.hbtsch.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
蝙蝠岛资源网 Design By www.hbtsch.com
暂无PHP实现的Redis操作通用类示例的评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2025年10月30日
2025年10月30日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]