PHP Redis種
來源:互聯網
上載者:User
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;}}