как помешать yii2 выполнить запрос select при вызове Yii :: $ app-> user-> id

0

Когда я использую

Yii::$app->user->id

или

Yii::$app->user->isGuest 

Yii2 выполняет SELECT * FROM пользователя WHERE id ='4'.

Как я могу предотвратить этот повторяющийся запрос для оптимизации моего веб-приложения?
Кэширование или определение глобальной переменной сеанса и что-то в этом роде.

Теги:
optimization
yii2
yii

1 ответ

0

Включите один из поддерживаемых хранилищ кеша и замените return static::findOne(['id' => $id]); код 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.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню