分享PHP腳本redis類的實例源碼

class redisDB{
   
     private $redis ; //redis對象
   
   
     /**
      * 初始化Redis
      * $config = array(
      *  'server' => '127.0.0.1' 服務器
      *  'port'   => '6379' 端口號
      * )
      * @param array $config
      */
     function __construct( $config = array ()){
         $this ->redis = new Redis();
         $this ->redis->connect(REDIS_SERVER,REDIS_PORT);
         return $this ->redis;
     }
   
     /**
      * 設置值
      * @param string $key KEY名稱
      * @param string|array $value 獲取獲得的數據
      * @param int $timeOut 時間
      */
     public function set( $key , $value , $timeOut = 0, $type = 'json' ) {
         if ( $type == 'serialize' )
         {
             $value = serialize( $value );
         }
         else
         {
             $value = json_encode( $value );
         }
           
         $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 , $type = 'json' ) {
         $result = $this ->redis->get( $key );
           
         if ( $type == 'serialize' )
         {
             return unserialize( $result );
         }
         else
         {
             return json_decode( $result );
         }
     }
   
     /**
      * 刪除一條數據
      * @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;
     }
}


include 'redis.php' ;
$redis new redisDB();
$key = 'fields' ;
$value = '好腳本' ;   //value能夠是字符串或者數組
$redis ->set( $key , $value );
//獲取fields的值也很簡單
$fvalue = $redis ->get( 'fields' );
print_r( $fvalue );

用到就copy吧,簡單,實用。嘿嘿 有須要用到 memcache的類 ,能夠參考一下這個。http://www.haojb.cn/php/thread-68.html
相關文章
相關標籤/搜索