缓存用户身份

时间:2019-04-25 07:33:22

标签: yii2 yii2-advanced-app

有什么方法可以缓存身份?在我的代码中,我有多个关于用户个人资料的数据库查询。我认为应该是一种对其进行缓存以防止多个请求的方法。

yii::$app->user->identity

1 个答案:

答案 0 :(得分:0)

身份应该已经在请求的上下文中进行了缓存(每个请求仅一个查询)。

如果要在请求之间缓存身份,则可以在user组件的findIdentity()类的$identityClass实现中实现缓存:

public static function findIdentity($id) {
    return static::find()->cache(60)->where(['id' => $id])->one();
}

但是通常不值得麻烦-使用主键的一个简单查询应该确实非常快,将其缓存不会给您带来可衡量的性能提升,尽管它可能会产生一些与缓存有关的怪异错误。