Asp.net mvc3论坛实施。部分实现是一个功能,显示哪些帖子已被阅读,哪些帖子没有。
我现在实现它的方式是我在创建新帖子时为每个用户创建数据条目,然后在显示给我的用户时删除它们,我还删除所有条目下的所有条目一个月。
我目前有450个用户,因此需要很长时间才能创建它们。
我认为必须有一个更好的方法,因为超过1000个用户的大型vbullitin或phpbb论坛可以在创建帖子时不花2+ sek来创建所有这些条目,但我还没有找到它。我可以在这个网站上看到其他一些问题,但我找不到可以使用的答案。
答案 0 :(得分:2)
您需要记录用户的上一个活动,但将所有内容存储在数据库中效率不高。因此,您还需要设置cookie以了解他们查看的主题。这是一种混合方法,但在这里有一些冗长的讨论:
答案 1 :(得分:0)
存储更少数据并使运行更快的一种方法:对于用户读取的每个线程,创建一个数据库条目以记录上次查看该线程时的时间戳。这样每个用户都不会获得每个帖子的条目 - 只是每个线程......而且只有他们实际读取的线程。
您可以轻松地确定线程中的哪些内容未读...如果此用户/线程的数据库中没有时间戳,那么它们都是未读的。如果您有时间戳,那么该时间戳之后的线程中的所有帖子都是未读的。
答案 2 :(得分:-1)
也许每个用户都应该抓住他们查看过的帖子的ID而不是那些他们没有看过的帖子?在创作时,它的成本会大大降低。