当我使用时
Yii::$app->user->id
或
Yii::$app->user->isGuest
Yii2执行SELECT * FROM
用户WHERE
id ='4'
。
如何防止重复查询以优化我的web应用程序
缓存或定义全局会话变量等等。
启用一个受支持的缓存,并用替换您在评论中提到的代码return static::findOne(['id' => $id]);
$db = self::getDb();
return static::getDb()->cache(function ($db) use ($id) {
return static::find()->where(['id' => $id])->one();
});
有关更多详细信息,请参阅http://www.yiiframework.com/doc-2.0/guide-caching-data.html