本文实例讲述了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程序设计有所帮助。
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]