Yii2.0フレームワークredisインスタンスの使用

1592 ワード

1、YiiインストールRedis拡張
composerによるインストール:
php composer.phar require --prefer-dist yiisoft/yii2-redis

composerがグローバルにインストールされている場合は、次のコマンドを使用します.
composer require --prefer-dist yiisoft/yii2-redis

2、プロファイルの変更
 
私のはbasicバージョンで、config/webを修正します.phpファイルのcomponents配列には、次のコードが追加されます.
'redis' => [
    'class' => 'yii\redis\Connection',
    'hostname' => '127.0.0.1',
    'port' => 6379,
    'database' => 0,
],

ここまで、Yiiのredisが配置されています.
3、redis使用例
/**
 * @return string
 *          
 */
public function actionIndexArticle(){
    $redis = Yii::$app->redis;
    $index_article = $redis->get('index_article');
    if (count($index_article)>0) {
        //         ,     json  
        return Json::encode(unserialize($index_article));
    } else {
        $type = Yii::$app->request->post('newsType');
        $type = $type - 1;
        $article = Article::find()
            ->select('id,title,content,datetime,picUrl')
            ->where('category = :category', [':category' => $type])
            ->orderBy(['datetime' => SORT_DESC])
            ->limit(13)
            ->all();
        //        ,  redis
        $redis->set('index_article', serialize($article));
        $redis->expire('index_article', 30);//  key 30    
        return Json::encode($article);
    }
}