Можно ли хранить непрочитанные приватные Laravel echo события в redis и доставлять их если пользователь вошёл в канал?

Имеется система личной переписки на websocket (Laravel echo + redis).
При авторизации на сайте пользователь подписывается на приватный канал laravel-echo с id равным id пользователя.
Сообщения (события) в другие каналы сохраняются в бд и доставляются вне зависимости от того присутствует ли человек на данный момент в том канале или нет. (Узнать о присутствии человека в канале можно только если вы состоите в одном канале, а у нас же у каждого пользователя свой канал с id равным id пользователя).
Как реализовать систему прочитанных/непрочитанных событий? Каждый раз отправлять в бд запрос о том что сообщение прочитано нерационально.
Можно ли как-то хранить в redis Laravel-echo события, доставлять непрочитанные пользователю при его авторизации на сайте и очищать их после авторизации пользователя?
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 1
Sanasol
@Sanasol Куратор тега Laravel
нельзя просто так взять и загуглить ошибку
Делайте оповещения через https://laravel.com/docs/5.6/notifications
Их можно выводить как угодно непрочитанные счетчики или списком даже и всякое такое.
И при этом отправлять их в вебсокет https://laravel.com/docs/5.6/notifications#broadca...

Т.е. персистентные оповещения + реалтайм на выходе получается.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы