#php #laravel #redis #socket.io #chat
#php #laravel #redis #socket.io #Чат
Вопрос:
Я хочу знать, как можно построить структуру БД для системы чатов — один к одному и групповое. Я использую MySQL.
Я использую Laravel, redis, socket.io
Я просто создаю простой чат, чтобы понять stack
Как я работаю
Сообщение сообщения клиента 1 -> Laravel сохранить в БД и отправить в redis -> Узел прослушивания клиента redis -> сокет.io отправить -> Клиенту 2
Как это работает для группового чата, а не для живого чата?
Комментарии:
1. кроме того, опубликуйте, что вы пробовали
2. Это слишком общий вопрос. Вам нужно будет выполнить часть работы самостоятельно и сузить свой вопрос до конкретных деталей, как только вы застряли.
Ответ №1:
Вы можете создать что-то подобное с минимальными столбцами
chat
(один к одному)
id | message | message_type | sender | reciever | reply_to (optional) | created_at | updated_at | deleted_at (optional)
chat_messages
(группа)
id | group_id | message | message_type | sender | reply_to (optional) | created_at | updated_at | deleted_at (optional)
Вы должны определить groups
(group_id — отношение), если вы хотите реализовать
Вы можете предпочесть приведенный выше пример, в нем присутствует только базовая функциональность. вы можете обновлять на основе своей логики