PHP Redis类/*************************************************** * ***************************** ※InitPHP 2.0 国産PHP開発フレームワーク Dao-Nosql-Redis *------------------------------------------------ * 著作権: CopyRight by initphp.com ※このソースコードはご自由にお使いいただけますが、ご使用の際は作者情報を保管しておいてください。他人の労働の成果を尊重することは、自分自身を尊重することを意味します *------------------------------------------------ * $著者:zhuli * $Dtime:2011-10-09 ************************************************* * *********************************/ クラスredisInit { プライベート $redis; //redis オブジェクト /*** Redisを初期化する * $config = 配列( * 'サーバー' => '127.0.0.1' サーバー * 'ポート' => '6379' ポート番号 *) * @param 配列 $config*/ パブリック関数 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']); $this->redis を返す; } /**※設定値 * @param string $key キー名 * @param string|array $value データを取得します * @param int $timeOut 時間*/ パブリック関数 set($key, $value, $timeOut = 0) { $value = json_encode($value, TRUE); $retRes = $this->redis->set($key, $value); if ($timeOut > 0) $this->redis->setTimeout($key, $timeOut); $retRes を返します。 } /*** KEYを介してデータを取得します * @param string $key キー名*/ パブリック関数 get($key) { $result = $this->redis->get($key); return json_decode($result, TRUE); } /*** データを削除する * @param string $key キー名*/ パブリック関数削除($key) { return $this->redis->delete($key); } /***データをクリア*/ パブリック関数 flashAll() { return $this->redis->flushAll(); } /*** データはキューに入れられます * @param string $key キー名 * @param string|array $value データを取得します * @param bool $right 右から入力するかどうか*/ public function Push($key, $value ,$right = true) { $value = json_encode($value); $を返しますか? $this->redis->rPush($key, $value) : $this->redis->lPush($key, $value); } /*** データのデキュー * @param string $key キー名 * @param bool $left データを左から出力するかどうか*/ パブリック関数 Pop($key , $left = true) { $val = $left ? $this->redis->lPop($key) : $this->redis->rPop($key); json_decode($val) を返します; } /*** データは自動的に増加します * @param string $key キー名*/ パブリック関数インクリメント($key) { return $this->redis->incr($key); } /**※データはデクリメントされます * @param string $key キー名*/ パブリック関数デクリメント($key) { return $this->redis->decr($key); } /*** キーが存在するかどうか、存在する場合は true を返します * @param string $key キー名*/ パブリック関数が存在します($key) { return $this->redis->exists($key); } /*** redis オブジェクトを返します * redis には多くの操作メソッドがありますが、そのうちの一部のみをカプセル化します * このオブジェクトを使用すると、redis 独自のメソッドを直接呼び出すことができます*/ パブリック関数 redis() { $this->redis を返す; } }