【发布时间】:2012-03-20 21:08:50
【问题描述】:
所以我一直在玩我正在建立的一个论坛,并且一直停留在它的一个方面,即如何在不将大量数据存储在数据库中的情况下跟踪未读帖子和通知。在查看了一些解决方案之后,我相信我想出了一个可能适合我需要但需要一组新的眼睛来指出我没有想到的解决方案。这是我的想法的架构。
1) 当用户登录时,检查当前time() 和上次登录time() 之间的帖子。
2)如果找到帖子,添加到数组,然后serialize()数组并保存到数据库中的成员行。
3) 如果数组不为空,则输出给用户。
这样,它只会检查未读帖子并存储在实际登录论坛的用户上,而不是占用不必要的空间来保存非活动用户的未读 ID。我仍然想知道这是否不是一个好主意,因为如果用户不阅读帖子,那么数据库中的序列化可能会变得太大而无法管理。
有人发现我的思维方式有问题吗?如果有,请告诉我。
【问题讨论】:
-
我建议你在 search.php 中查看 PHPBB 的 newposts 部分
-
SMF 存储阅读主题。是的,每个用户,每个主题都阅读。因此,正如您所说,不存储所有“未读”项目的诀窍是存储“已读”项目。
标签: php mysql serialization