关于向群组发送消息的最佳方式的问题(如whatsapp群组消息)。
我将每个组的成员保存到一个单独的数据库表中,一旦用户向该组发送消息,它就会从该表中检索用户。我有点卡在第二部分:
我认为会有三种方法。
有谁知道最好的方法是什么?我可以想象方法2会很快填满数据库,但方法1无法跟踪消息的状态。
目前我正在使用方法1,但我遇到了用户删除邮件时遇到的问题。它仍将在其他设备上返回,因为没有简单的方法为组消息设置某个已删除的标志。
有谁知道电报,whatsapp等应用程序是如何做到这一点的?当数百万条消息被发送时,方法2会不会出现问题?
此致
罗恩
答案 0 :(得分:2)
我会这样分开。
讯息强>
id,message,owner_id,已删除
<强>组强>
id,name
<强> Message_Group 强>
message_id,group_id
<强> USER_GROUP 强>
user_id,group_id
然后,您无需向该群组中的所有用户添加消息。当您插入新消息时,首先将其插入Messages
,捕获ID并将其插入Message_Group
,并带有消息ID和组ID。要获取组的消息,只需加入Message_Group和Messages,即可完成。当然,您还需要加入用户表来捕获谁编写了该消息。