实际上会有3个列表,一个接收者列表,一个布尔列表,如果b [i],则接收者[i]已读取该消息,第三个列表包含尚未删除的所有用户信息。每天,我都会运行一个cron作业,查找包含此类用户的空列表的消息,然后将其删除。
这个型号有问题吗?
答案 0 :(得分:2)
第一个架构,就像尝试复制电子邮件架构一样,这个架构过时且效果不佳。
当然,第二种方法更好。
有问题吗?没有人,而你的代码没有错误。但是如果你必须支持它们,请考虑回复。如果实例不超过1M大小限制,则可能第四个列表就足够了。
但实际上,分离的答案模型更加一致和直观。此新模型还会包含以下列表:readed_by
,deleted_by
等
cron工作可能是不必要的。您可以在用户将其标记为“已检测到”后删除该邮件,如果message.deleted_by == message.receivers + message.from
。