返回顶部

收藏

PHP Redis类操作

更多
    /*********************************************************************************  
     * InitPHP 2.0 国产PHP开发框架  Dao-Nosql-Redis  
     *-------------------------------------------------------------------------------  
     * 版权所有: CopyRight By initphp.com  
     * 您可以自由使用该源码,但是在使用过程中,请保留作者信息。尊重他人劳动成果就是尊重自己  
     *-------------------------------------------------------------------------------  
     * $Author:zhuli  
     * $Dtime:2011-10-09   
    ***********************************************************************************/    
    class redisInit {    

        private $redis; //redis对象    

        /**  
         * 初始化Redis  
         * $config = array(  
         *  'server' => '127.0.0.1' 服务器  
         *  'port'   => '6379' 端口号  
         * )  
         * @param array $config  
         */    
        public function init($config = array()) {    
            if ($config['server'] == '')  $config['server'] = '127.0.0.1';    
            if ($config['port'] == '')  $config['port'] = '6379';    
            $this->redis = new Redis();    
            $this->redis->connect($config['server'], $config['port']);    
            return $this->redis;    
        }    

        /**  
         * 设置值  
         * @param string $key KEY名称  
         * @param string|array $value 获取得到的数据  
         * @param int $timeOut 时间  
         */    
        public function set($key, $value, $timeOut = 0) {    
            $value = json_encode($value, TRUE);    
            $retRes = $this->redis->set($key, $value);    
            if ($timeOut > 0) $this->redis->setTimeout($key, $timeOut);    
            return $retRes;    
        }    

        /**  
         * 通过KEY获取数据  
         * @param string $key KEY名称  
         */    
        public function get($key) {    
            $result = $this->redis->get($key);    
            return json_decode($result, TRUE);    
        }    

        /**  
         * 删除一条数据  
         * @param string $key KEY名称  
         */    
        public function delete($key) {    
            return $this->redis->delete($key);    
        }    

        /**  
         * 清空数据  
         */    
        public function flushAll() {    
            return $this->redis->flushAll();    
        }    

        /**  
         * 数据入队列  
         * @param string $key KEY名称  
         * @param string|array $value 获取得到的数据  
         * @param bool $right 是否从右边开始入  
         */    
        public function push($key, $value ,$right = true) {    
            $value = json_encode($value);    
            return $right ? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value);    
        }    

        /**  
         * 数据出队列  
         * @param string $key KEY名称  
         * @param bool $left 是否从左边开始出数据  
         */    
        public function pop($key , $left = true) {    
            $val = $left ? $this->redis->lPop($key) : $this->redis->rPop($key);    
            return json_decode($val);    
        }    

        /**  
         * 数据自增  
         * @param string $key KEY名称  
         */    
        public function increment($key) {    
            return $this->redis->incr($key);    
        }    

        /**  
         * 数据自减  
         * @param string $key KEY名称  
         */    
        public function decrement($key) {    
            return $this->redis->decr($key);    
        }    

        /**  
         * key是否存在,存在返回ture  
         * @param string $key KEY名称  
         */    
        public function exists($key) {    
            return $this->redis->exists($key);    
        }    

        /**  
         * 返回redis对象  
         * redis有非常多的操作方法,我们只封装了一部分  
         * 拿着这个对象就可以直接调用redis自身方法  
         */    
        public function redis() {    
            return $this->redis;    
        }    
    }  

标签:php

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. likai 发表 2018-04-15 15:19:12 为何说PHP引用是个坑,要慎用
  2. Lok 发表 2018-04-10 07:19:08 php获取某个mysql数据库所有的存储过程
  3. kcloze 发表 2017-12-06 02:16:59 swoole-jobs基于swoole的job队列组件
  4. kcloze 发表 2017-12-06 02:22:34 multiprocess基于swoole的多进程管理组件
  5. 海运 发表 2018-04-03 02:17:00 php使用rpc xml管理rtorrent
  6. 堃田 发表 2017-02-27 01:13:58 CentOS 7 安装PHP开发环境
  7. 果冻想 发表 2018-04-01 15:47:25 PHP延迟静态绑定
  8. admin 发表 2018-03-31 08:12:35 Nginx 1.13.6.1 + PHP 7.1.15(FastCGI)在CentOS Linux
  9. Leon 发表 2018-03-29 15:01:29 php错误提示Fatal error: Can't use function return valu
  10. Lok 发表 2018-03-27 03:46:36 php获取mysql多个结果集返回
  11. 老高 发表 2018-03-27 06:19:00 PHP官方中文手册chm下载地址
  12. Bor Lee 发表 2018-03-02 07:14:01 PHP 里 switch case 只做松散比较

发表评论