- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我知道这个问题已经在这里问过几次了,但没有一个答案让我满意。这是因为几乎所有这些都涉及与数据库相关的巨大读/写过程,我想不惜一切代价避免。
关于未读的讨论/主题/帖子,有很多事情要考虑。不知道MyBB之类的论坛系统怎么样, vBulletin , Invision Power Board , Vanilla , phpBB等,解决这个问题,所以我想从你们那里读一读你的经验。我知道仅为此使用数据库表是最简单的方法,但是当社区每月有超过 10,000 名成员和 1000 个新主题时,这将涉及大量读取/写入。这很难,但应该有办法避免服务器重载。
那么,您认为解决此问题的最佳做法是什么,以及其他论坛系统如何应对?
最佳答案
没有太多选择。
标记每个用户的每个读者线程。
标记每个用户的每个未读线程。
使用时间戳来确定是否将其显示为未读。
另一种选择是混合解决方案,即
1 和 3) 如果线程不超过 X 天并且没有为用户标记为已读的行,则将线程显示为“未读”。 “已读”行可以在 X 天前被删除,而不会影响任何事情。
优势
缺点
优势
关于PHP 论坛 - 如何处理未读的讨论/主题/帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2288814/
问题:您好,我已经为我的一个客户创建了一个 DBMS,其中有一个功能,即从相同的表单输入将值拆分为四个不同的表(但是)有时会发生值输入到 table1 和 table2 而不是 table3 和 ta
我正在开发基于 Web 的应用程序,该应用程序需要在将任何文件上传到服务器之前检查其大小。 如果 Web 开发人员可以通过任何方式在客户端检查文件大小而不是在服务器端检查文件大小,从而避免不必要的服务
Closed. This question is opinion-based。它当前不接受答案。 想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。 5年前关闭。
好的,这个线程将更像是对标题中提到的主题的讨论。我一遍又一遍地搜索整个主题,但没有找到适合我的好/可接受的解决方案。 场景 假设我有一个 android 项目,我需要一个第三方库(例如 drag-so
我正在进行的项目使用用户创建的多个“墙”进行讨论。 我的问题涉及如何在 MySQL 数据库中对此进行建模。 拥有一个名为“walls”的表,其中包含诸如创建者等信息,以及另一个名为“messages”
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit th
发现了一个有趣的问题,我首先在 WinForms 中发现,然后在 Silverlight 中再次发现,而且在数据绑定(bind)方面也很可能是 WPF。 我有一个带有多个选项卡的选项卡控件。当用户点击
我正在用 VBA 编写一个方法,但我收到了 ByRef 参数类型不匹配。在做了一些研究之后,我找到了一个快速的解决方法——将我的值存储在另一个变量中,然后将该新变量传递给我的方法。谁能向我解释疯狂背后
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 7 年前。 Improv
我一直在尝试修改 Odoo 讨论,但没有成功。 这就是我要实现的目标: 我将带有“新消息”按钮的消息添加到 Odoo 模块(在类 mro.order 中)。消息显示在讨论模块中: 但我需要标题类似于“
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 9 年前。 Improve this
为任何错误的术语道歉——我对计算机科学很陌生,我几乎只知道 Clojure(但我想我会说我很了解它)。 所以,我没有对此进行大量研究,但有时我发现在编写 Clojure 代码时它很有用,以便能够从该数
a) 匿名卷 使用数据容器时,您可以像这样使用匿名卷 version '2' services: consumer: volume_from: - data-container
var yourObjects = [ { object: {obj1:"aa"}, direction: 'top' }, { object: "obj2", direction: 'left' }
我正在尝试使用 Disqus API 将帖子添加到现有的讨论/论坛。在文档中我可以读到我可以作为访客发送评论而无需身份验证。文档是这样说的: http://disqus.com/api/docs/po
因此,我偶然发现了一本名为“C++科学计算指南”的C++书的练习。 这是练习: “编写代码,为三个2×2矩阵的 double 浮点数A,B,C动态分配内存,并为A和B的条目分配值。令C = A +B。
规则 CA1008指定所有枚举都应具有 0 值,该值应命名为 Unknown(我们不在此处讨论标志)。我理解您想防止未初始化的值自动获得意义的原因。假设我定义了以下枚举: enum Gender {
前几天,Google 通知我,我的 Gmail 帐户可能已被盗用,因为它已被两个来自异常位置的 IP 地址访问。由于我通常(并且愚蠢地)为每个网站使用相同的密码,所以我决定改变一下并使用不同的密码。
RubyGems.org ,官方 gems 站点,提供的功能很差。我想为我的网站找到一些好的 gems,但这是不可能的——它只提供了几个“新 Gems”/“今天下载最多的” gems,以及所有的列表
我如何提取我博客中的最新对话(整个网站)并显示最近的 10 条评论作为来自 Disqus 的对话摘要? 最佳答案 您可以使用 Disqus 论坛/listPosts API 方法构建一个最新评论小部件
我是一名优秀的程序员,十分优秀!