Yii 2のredis応用

4867 ワード

アプリケーションではまずyii 2を拡張してインストールする必要があります
composerがインストールされている場合は直接実行します
php composer.phar require --prefer-dist yiisoft/yii2-redis

もちろんローカルインストールも可能です
yii 2-redis拡張パッケージをダウンロード(https://github.com/yiisoft/yii2-redis)と解凍
解凍したファイルをvebdor/yiisoftに移動してyii 2-redisと名前を付けます
vebdor/yisoftの下にあるextensionsを開きます.php
次のコードを追加
'yiisoft/yii2-redis' => 
  ['name' => 'yiisoft/yii2-redis',
    'version' => '2.0.5.0',
    'alias' => 
    ['@yii/redis' => $vendorDir . '/yiisoft/yii2-redis',
    ],
  ],

 
最後にconfigファイルの下のweb.phpには次のような構成項目が追加されています(プロファイルディレクトリを書くのは筆者にとって当時はこれが間違っていたので午前中時間を無駄にしました)
'redis' =>[
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',  //  redis  
            'port' => 6379, //  
            'database' => 0,
        ]

 
次はredisの操作ができます
以下に、いくつかの簡単な例を示します.
1)キー値の設定
$source = Yii::$app->redis->set('var1','asdasd');

 
成功するとブール値が返されます
$source = Yii::$app->redis->get('var1');

キーの値を取得
$source = Yii::$app->redis->del('var1');

キーの削除
$var2 = Yii::$app->redis->keys("*");

すべてのキーを表示
2)リスト
リストの設定
$var1 = Yii::$app->redis->lpush("vari","lisr");

リストの取り出し(一部)
$var3 = Yii::$app->redis->lrange("vari",0,2);

リストのインデックスの値を変更する
$var33 = Yii::$app->redis->lset('vari',21,'2323');

3)ハッシュ
ストレージオブジェクトに適合
ストレージhash
$var4 = Yii::$app->redis->hmset('mioji','name','syc','age','24');

hashの読み込み
$var5 = Yii::$app->redis->hgetall('mioji');

4)集合
セットの設定
$var6 = Yii::$app->redis->sadd('mioji1','lgc','lr','yzb','syc');

集合メンバーの取得
$var60 = Yii::$app->redis->scard('mioji1');

コレクションのメンバーの取得
$var61 = Yii::$app->redis->smembers('mioji1');

5)秩序化集合
コレクション内のインデックスおよびメンバーの設定
$var8 = Yii::$app->redis->zadd('mioji2','1','zf','2','ls');

コレクション内のメンバーの数を返します.
$var81 = Yii::$app->redis->zcard('mioji2');

指定したインデックス区間内のメンバーを返します.
$var82 = Yii::$app->redis->zrange('mioji2',0,2);

6)サブスクリプションの発行
$var7 = Yii::$app->redis->psubscribe('redisChat');

 
最後に共通の方法を添付します
Yii::$app->redis->executeCommand(「redisコマンド名」,['セーブキー','値1','値2'...])
Yii::$app->redis->executeCommand('SADD', ['key_name',value,value,value...]);

参照先:http://www.yiichina.com/tutorial/904
転載先:https://www.cnblogs.com/zjhblogs/p/6600422.html