Node.js和Express-最简单的缓存方法

时间:2019-04-25 07:51:07

标签: javascript node.js express caching

想象一下一个拥有数百名用户的应用程序,这些应用程序具有小的数据(最多10个名称/值对),但是建立在要获取这些数据的系统上,必须进行一些复杂的计算。

我的想法是我有一个带有“历史记录”的系统,并且需要历史记录状态,因此它对于系统“遍历”历史记录以获取最新的实际数据至关重要。

好,这个过程很耗时,但是我想,在我的情况下,唯一编辑数据的人是admin或admin事件,所以如何计算而不是为我刚才所说的每个用户呼叫计算数据:

  • 创建一个缓存对象(在内存中?)
  • 仅计算管理员事件的“历史记录”(以及服务器重启)
  • 无需计算即可为用户提供该缓存对象中的数据

这是个好主意吗?如果可以的话,实现这一目标的最佳方法是什么?

我只是简单地制作了一个名为“ ServerData”的模块,该模块可以将所有用户数据保存在数组中,还创建了一个自定义函数“ serverDataUpdate()”,该函数在需要时调用。

该缓存模块为用户提供了所需的一切。

我问是因为这一切似乎太简单了,我搜索了Node的缓存方法,并且看到为此目的构建了一些额外的模块。

他们能提供比这种“简单”方法更好的东西吗?

感觉有点太简单了,所以我不确定我是否没有错过任何事情

谢谢

1 个答案:

答案 0 :(得分:1)

如果您认为每次收到请求都只计算相同的数字是一个过大的决定,可以的,请预先计算它们并将它们存储在内存中,以备不时之需。

  1. 更改计算参数后,您将必须创建路由来重新计算和更新缓存。

  2. 请记住,如果要将应用程序托管在可扩展的容器编排系统(如Kubernetes)中,则可能必须采用其他方法。在这种情况下,将生成您的应用程序,并且每个应用程序都有自己的缓存。