- /************************************* ********************************************
- * 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, Redis
本主題由 小貝 於 2015-11-12 08:43 移動