PHP Redis类操作


<?php   
/*********************************************************************************  
 * 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 (!isset($config['server']))  $config['server'] = '127.0.0.1';    
        if (!isset($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;    
    }    
} 

$redis = new redisInit();
$redis->init();
$a = array('a'=>'guoyu',2,rand());
$re = $redis->push('guoyu', $a ,$right = true); 
print_r($re);
print_r($a); 
$rs = $redis->pop('guoyu' , $left = true); 
print_r($rs);
?>  


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值