YII2数据库依赖缓存

首先配置一下缓存,自己选择是用文件缓存还是数据库缓存等。

'cache'         => [
            'class' => 'yii\caching\FileCache',
        ],

然后就可以通过 Yii::$app->cache->set() 和 Yii::$app->cache->get() 设置、获取缓存内容了。
下面是一个带缓存依赖的实例:

//表达式依赖  
$dp = new ExpressionDependency([
                'expression' => 'count(Yii::$app->authManager->getPermissionsByUser(Yii::$app->user->id))'
            ]);
//数据库依赖(sql)  
            $dp2 = new DbDependency([
                'sql' => 'select max(updated_at) from auth_item',
            ]);
//链式依赖(把以上2个依赖串起来,任何一个发生变化都会使缓存失效)  
            Yii::$app->cache->set($key, $value, 0, new ChainedDependency([
                'dependencies' => [$dp, $dp2]
            ]));
posted @ 2016-07-26 09:56  sandea  阅读(1225)  评论(0编辑  收藏  举报