yii2, redis + mysql. Как правильно взаимодействовать
У меня есть функционал создания сообщества
$model = new Community();
if ($model->load(Yii::$app->request->post())) {
$image = UploadedFile::getInstances($model, 'image');
if (!empty($image)) {
$img = Images::uploadAvatar($image, '', '', false);
$model->img = $img;
}
$model->user_id = Yii::$app->user->id;
if ($model->validate() && $model->save()) {
$model->saveCommunityRedis($model->user_id, $model->id);
Yii::$app->session->setFlash('success', 'Спільноту створено. Очікуйте підтвердження від модератора.');
return $this->refresh();
} else
Yii::$app->session->setFlash('error', 'Трапилась помилка. Спробуйте знову.');
}
Далее я отображаю кнопки подписаться/отписаться
Но я не хочу отображать эти кнопки пользователю на сообщества которые он создал
Для этого мне нужно получить массив сообществ которые он создал. Чтобы их получить мне нужно делать запрос в mysql.
На сколько правильно будет хранить данные в redis?
Тоесть пользователь создал сообщество(сохранил в MySql), и после создания сообщества я сохраняю в redis id
public function saveCommunityRedis($userId, $comId)
{
$redis = Yii::$app->redis;
$redis->sadd("user:{$userId}:communities", $comId);
}
сообщества и вместо запроса в MySql я буду обращаться в redis
На сколько это будет правильная связка?