0

当我在考虑实现一个系统,使用户能够相互发送消息时,我想到了如果不是为每个接收者保存消息副本,而是保存一条消息,你可以保存的数据量接收者名单。

实际上会有 3 个列表,一个接收者列表,一个布尔值列表,如果 b[i],则接收者[i] 已阅读该消息,第三个列表包含所有未删除该消息的用户。每天,我都会运行一个 cron 作业,查找包含此类用户的空列表的消息,然后将其删除。

这个模型会不会有什么问题?

4

1 回答 1

2

第一个模式,就像试图复制电子邮件架构,它已经过时并且不能很好地工作。

当然,第二种方法更好。

问题?没有人,而您的代码没有错误。但是,如果您必须支持他们,请考虑回复。如果实例不超过 1M 大小限制,也许第四个列表就足够了。

但实际上,答案的分离模型更加一致和直观。这个新模型还将有类似的列表:readed_bydeleted_by等。

cron 作业可能是不必要的。如果message.deleted_by == message.receivers + message.from. _ _

于 2012-09-28T17:11:03.417 回答