3

假设您正在开发消息传递系统。一个非常基本的,你想保持简单,以便它易于备份,易于编码等。而且快速并允许随着时间的推移进行扩展。

您如何看待用于处理此问题的基于堆栈的系统?

例如,您有一条由 To、From、Timestamp 和 Message 组成的消息。您需要做的就是堆叠这些消息,当用户登录并想要检查他们的消息时,您需要做的就是遍历列表并找到 To == 当前登录用户的所有实例。

你认为这是处理这个问题的好方法吗?还是您认为有更好的方法?建议?

4

2 回答 2

0

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.

Messages table

Users table

于 2013-04-29T17:35:35.227 回答
0

您可以设计一个域对象并使用SPLObjectStorage来堆叠消息。

我会在 SQL 级别进行过滤(对 === 当前登录的用户),因此您只需加载用户需要阅读的消息。这减少了加载时间。

编辑:

所以你有一张桌子叫

消息

  • ID
  • 发件人ID
  • 收件人 ID
  • 信息
  • 发送日期

和一张名为

用户

  • ID
  • ...

与其他各种领域。这样,您可以通过users.id = messages.senderId和连接两个表users.id = messages.recipientId。您应该考虑在 senderId 和 recipientId 上放置两个索引。

于 2012-11-20T08:22:24.043 回答