- /******************************************** *** *************************************
- * InitPHP 2.0 国産 PHP 開発フレームワーク Dao-Nosql -Redis
- *---------------------------------------------- -- -----------------------------
- * Copyright: 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']);
- $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);
- $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 flashAll() {
- 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);
- $を返してください? $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);
- 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);
- }
-
- /**
- * キーが存在するかどうか、存在する場合は true を返します
- * @param string $key KEY 名
- */
- public function contains($key) {
- return $this->redis->exists($key);
- }
-
- /**
- * Redis オブジェクトを返します
- * Redis には多くの操作メソッドがありますが、そのうちの一部のみをカプセル化します
- * このオブジェクトを使用すると、Redis 独自のメソッドを直接呼び出すことができます
- */
- public function redis() {
- return $this->redis;
- }
- }
复制代
|