[我不是在问 SO 的架构,但这对这个问题会有所帮助。]

在 SO 上,当用户点击他/她的名字并点击“回复”时,他们会看到其他用户对他们参与的评论线程、问题和答案的回复。我偷偷怀疑我错过了某些响应,这让我想知道: 如果你必须构建那个东西,你会在每次用户请求时动态地从数据库中提取所有内容吗? 或者当应用程序中有新的相关事件时你会修改它吗?或者你会在每晚的守护进程中构建它吗?

我想真正的答案是它每次都是动态构建的,但是表格以这样的方式非规范化,以便减少耗时。 您将如何构建它?

我问的是任何平台,当然,不仅仅是在 .Net 上。

最佳答案

我每次都会从数据库中动态提取它。我认为这为您提供了用户体验的最佳结果,然后我会应用过早优化是邪恶的原则。以后如果有性能问题,我会研究缓存。

我认为将其作为守护进程/推送过程实际上会导致完成更多的整体工作。也就是说,更新会比用户请求信息的频率更高。

关于optimization - 直接从数据库或缓存生成网页?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/429448/

10-11 18:41