Yii2 Redis relations, происходит запрос всех строк из redis

Предварительное обсуждение найденных ошибок перед отправкой их авторам фреймворка, а также внесение новых предложений.
Ответить
rus72ru
Сообщения: 27
Зарегистрирован: 2013.12.06, 14:03

Yii2 Redis relations, происходит запрос всех строк из redis

Сообщение rus72ru »

Основная база данных MySQL, используется redis для временных данных и данных которые часто меняются.
При использовании кода приведенного ниже, происходит перебор всех записей в redis по таблице до указанного id пользователя

Код: Выделить всё

    public function getRedisData()
    {
        return $this->hasOne(UsersRedis::className(), ['user_id' => 'id']);
    }
 

Код: Выделить всё

....
1445934783.159051 [1 lua] "HGET" "users_redis:a:1335" "user_id"
1445934783.159059 [1 lua] "HGET" "users_redis:a:1336" "user_id"
1445934783.159068 [1 lua] "HGET" "users_redis:a:1337" "user_id"
1445934783.159077 [1 lua] "HGET" "users_redis:a:1338" "user_id"
1445934783.159085 [1 lua] "HGET" "users_redis:a:1339" "user_id"
1445934783.159143 [1 lua] "HGET" "users_redis:a:1340" "user_id"
1445934783.159152 [1 lua] "HGET" "users_redis:a:1341" "user_id"
1445934783.159161 [1 lua] "HGET" "users_redis:a:1342" "user_id"
1445934783.159169 [1 lua] "HGET" "users_redis:a:1343" "user_id"
1445934783.159178 [1 lua] "HGET" "users_redis:a:1344" "user_id"
1445934783.159186 [1 lua] "HGET" "users_redis:a:1345" "user_id"
1445934783.159194 [1 lua] "HGET" "users_redis:a:1346" "user_id"

 
Если поменять код на этот, то запрос выполняется один

Код: Выделить всё

    
    public function getRedisData()
    {
        return UsersRedis::findOne(['user_id' => $this->id]);
    }
Ответить