gpt4 book ai didi

database - 在数据库中有效地记录和存储页面浏览量?

转载 作者:搜寻专家 更新时间:2023-10-30 19:52:22 26 4
gpt4 key购买 nike

StackOverflow 等网站计算、保存和显示页面的查看次数。你如何有效地做到这一点?让我们以 StackOverflow 问题的查看次数为例。我看到以下选项。

选项 1。当应用收到问题请求时,增加问题表中的计数。这是非常低效的!绝大多数查询都是只读的,但您要对每个查询进行更新。

选项 2. 维护某种将新 View 计数映射到问题 ID 的缓存。当应用程序收到问题请求时,增加问题 ID 的缓存 View 计数。您正在缓存浏览量的边际增长。到目前为止,一切都很好。现在您需要定期刷新缓存中的计数。这是问题的第二部分。您可以使用第二个线程或某种调度组件。这确实是一个单独的问题,部分取决于您的服务器平台(我使用的是 Java)。或者,不是使用单独的线程,而是在缓存中存储了一定数量的计数之后,您可以在达到阈值的请求线程中进行更新。更新功能可以封装在缓存中,为缓存提供一些 IQ 点。

我喜欢在达到阈值时刷新缓存的想法。我很想知道其他人做了什么以及是否有更好的方法。

最佳答案

我同意将每个页面加载写入数据库是低效的。我的方法是缓存请求,然后每小时提交一次。每次我更新缓存时,我都会将当前时间与 LastWriteTime 进行比较,如果超过一个小时,我就会写入。这是一个 ASP.NET 应用程序,所以我在应用程序的关闭方法中进行了最后一次提交。后者不能保证运行,但被认为是可以接受的损失。

关于database - 在数据库中有效地记录和存储页面浏览量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1178676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com