php對redis的string(字符串)操做

<?php

/**
* Class cache
* string 類型操做
* wanghang
* time:16/02/26
*/
class cache{

  protected $resis;
  public function __construct(){
     $this->redis = new Redis();
     $this->redis->connect('192.168.1.162', 6380);
  }

  /**
   * redis 中寫入值
   *
   * @param $key string int
   * @param $value string
   * @return bool true or false
   */
  public function set($key,$value){

   return $this->redis->set($key,$value);
  }

  /**
   * redis中讀取值
   *
   * @param $key  string
   * @return bool|string 沒有值就返回false
   */
  public function get($key){

     $value=$this->redis->get($key);
     return $value;
     //return unserialize($value);

  }

  /**
   * 帶生存時間的寫入值
   *
   * @param $key string
   * @param $time  int
   * @param $value string
   * @return bool true or flase
   */
  public function setex($key,$time,$value){

     return $this->redis->setex($key,$time,$value);
  }

  /**
   * 判斷是否重複的,寫入值
   *
   * @param $key string
   * @param $value string
   * @return bool true(不重複) or false(重複)
   */
  public function setnx($key,$value){

     return $this->redis->setnx($key,$value);
  }

  /**
   * 刪除指定key的值
   *
   * @param $key array array($key1,$key2)
   * return int 已經刪除key的個數
   */
  public function delete($key){

     return $this->redis->delete($key);
  }

  /**
   * 獲得一個key的生存時間 (永久數據返回-1,找不到值返回-2)
   *
   * @param $key string 對應的鍵值
   * @return int 剩餘生成時間
   */
  public function ttl($key){

     return $this->redis->ttl($key);
  }

  /**
   * 移除Key的生存時間,使之成爲永久的數據
   *
   * @param $key string
   * @return bool true|false
   */
  public function persist($key){

     return $this->redis->persist($key);
  }

  /**
   * 同時給多個key賦值
   *
   * @param $key_array array array('key'=>'value','key1'=>'value1)
   * @return bool true|false
   */
  public function mset($key_array){

     return $this->redis->mset($key_array);
  }

  /**
   * 判斷 key 值是否存在
   * @param $key string
   * @return bool true|false
   */
  public function exists($key){

     return $this->redis->exists($key);
  }

  /**
   * 通過測試,在redisincr $key 默認的key的值進行自增1  incrby $key $valuekey中增長對應的值
   * php擴展中incr也可進行incrBy的操做(作加法)
   *
   * @param $key string
   * @return int
   */
  public function incr($key,$value=''){

     if(is_int($value)){
        return $this->redis->incr($key,$value);//incrBy
     }else{
        return $this->redis->incr($key);
     }
  }

  /**
   * 向指定鍵的鍵值增長對相應的值
   *
   * @param $key string
   * @param $value int
   * @return int
   */
  public function incrBy($key,$value){

     return $this->redis->incrBy($key,$value);
  }

  /**
   * *通過測試,在redisdecr $key 默認的key的值進行自增1  decrby $key $valuekey中增長對應的值
   * php擴展中decr也可進行decrBy的操做(作減法)
   *
   * @param $key
   * @param $value
   * @return int
   */
  public function decr($key,$value){
     if(is_int($value)){
        return $this->redis->decr($key,$value);
     }else{
        return $this->redis->decr($key);
     }
  }

  /**
   * 向指定鍵的鍵值減去對相應的值
   *
   * @param $key string
   * @param $value int
   * @return int
   */
  public function decrBy($key,$value){

     return $this->redis->decrBy($key,$value);
  }

  /**
   * 返回原來key中的值,並將value寫入key
   *
   * @param $key string
   * @param $value string
   * @return string
   */
  public function getSet($key,$value){

     return $this->redis->getSet($key,$value);
  }

  /**
   * string,名稱爲keystring的值在後面加上value
   *
   * @param $key string
   * @param $value string
   * @return int 追加後字符串的長度
   */
  public function append($key,$value){

     return $this->redis->append($key,$value);
  }

  /**
   * 獲取key的字符串的長度
   *
   * @param $key string
   * @return int
   */
  public function strlen($key){

     return $this->redis->strlen($key);
  }
}
相關文章
相關標籤/搜索