假设您正在开发消息传递系统。一个非常基本的,你想保持简单,以便它易于备份,易于编码等。而且快速并允许随着时间的推移进行扩展。
您如何看待用于处理此问题的基于堆栈的系统?
例如,您有一条由 To、From、Timestamp 和 Message 组成的消息。您需要做的就是堆叠这些消息,当用户登录并想要检查他们的消息时,您需要做的就是遍历列表并找到 To == 当前登录用户的所有实例。
你认为这是处理这个问题的好方法吗?还是您认为有更好的方法?建议?
假设您正在开发消息传递系统。一个非常基本的,你想保持简单,以便它易于备份,易于编码等。而且快速并允许随着时间的推移进行扩展。
您如何看待用于处理此问题的基于堆栈的系统?
例如,您有一条由 To、From、Timestamp 和 Message 组成的消息。您需要做的就是堆叠这些消息,当用户登录并想要检查他们的消息时,您需要做的就是遍历列表并找到 To == 当前登录用户的所有实例。
你认为这是处理这个问题的好方法吗?还是您认为有更好的方法?建议?
I think it would be as simple as setting up like the images depict below and the poster described above... a users table and a messages table. Consider adding a flag to denote whether the message was read or not that is updated via an onClick.
您可以设计一个域对象并使用SPLObjectStorage来堆叠消息。
我会在 SQL 级别进行过滤(对 === 当前登录的用户),因此您只需加载用户需要阅读的消息。这减少了加载时间。
编辑:
所以你有一张桌子叫
和一张名为
与其他各种领域。这样,您可以通过users.id = messages.senderId
和连接两个表users.id = messages.recipientId
。您应该考虑在 senderId 和 recipientId 上放置两个索引。