将MongoDB查询中的数据存储到对象中,每20分钟更新一次
Store data from MongoDB query into object and update every 20 minutes
如果这是一个新手问题,请原谅我,因为我是一个试图学习完整堆栈的前端开发人员。
我的节点应用程序每20分钟将记录插入MongoDB。
每次用户访问页面时查询数据库似乎不合逻辑,因为数据库在 20 分钟的时间段内是相同的(直到我每 20 分钟插入一次新记录)。
我想我可以将查询结果存储在一个对象或其他东西中,并每 20 分钟更新一次这个对象(每次我插入新记录时,这是一个每 20 分钟运行一次的函数)。
我将如何做到这一点?我需要它成为全局变量吗?
这是一个好主意还是坏主意,为什么?
如果您的查询已编入索引和/或速度很快,那么访问数据库可能是要走的路。 另一种选择是具有缓存层。 如果你在原始节点中这样做.js你会给自己带来很多复杂性(以及可能的性能问题),所以我会远离它。 如果你在另一个服务(redis,memcached)中这样做,除非查询复杂或缓慢,否则你可能不会看到太多的性能提升。 如果查询很复杂,您可以每 20 分钟重新生成一次结果,并将其保存在 mongo 中的某个地方,然后从中运行查询。 前任:
setInterval(regen_stats, 20 * 60 * 1000)
最重要的是,数据库是用来查询的,所以你不必开始从它们那里拿走东西,直到它停止执行(通常是由于查询的规模或复杂性)。
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 发布后的应用程序在几分钟后停止更新更新面板
- 将jquery代码从1.4.2分钟更新为1.10.2分钟
- 在 JavaScript 中,范围小时 30 分钟(或 20 分钟)
- 如何每 n 分钟使用数据更新一次 Web 应用程序
- MySQL事件每快照5分钟更新一次
- 向一个API发出多个请求,该API每分钟只能处理20个请求
- 分区在php中从开始时间到结束时间有20分钟的时间
- 我想打开弹出后60秒使用jquery.在关闭它将不会打开在接下来的20分钟或页面刷新后,20分钟重新打开它
- 需要javascript自动重载页面时分钟更新
- 如何在Javascript中保持每分钟更新日期时间
- 每30秒循环浏览一次网页列表(每30分钟更新一次页面?)
- 将MongoDB查询中的数据存储到对象中,每20分钟更新一次
- 更新后的javascript文件在几分钟内没有被服务器分发
- 每5分钟更新一次DB中的值
- 如何每分钟更新javascript函数和更新图表