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



>想象一下,一个应用程序有数百个用户,这些数据很少(最多 10 个名称/值对),但构建在一个系统上,为了获取这些数据,必须进行一些复杂的计算。

这个想法是,我有一个带有"历史记录"的系统,并且需要历史记录状态,因此系统必须"处理"历史记录以拥有最后的实际数据。

好的,这个过程需要时间,但我想,在我的情况下,唯一编辑数据的人是管理员或管理员事件,所以与其计算每个用户调用的数据,不如我只是:

  • 创建缓存对象(在内存中?
  • 仅计算管理事件的"历史记录"(和服务器重新启动)
  • 为用户提供来自此缓存对象的数据,无需计算

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

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

用户可以从此缓存模块获得所需的任何服务。

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

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

感觉有点太容易了,所以我不确定我是否没有错过什么

谢谢

如果您认为每次收到请求时都只计算相同的数字是矫枉过正的,是的,预先计算它们并将它们存储在内存中 - 只是为了服务。

您必须
  1. 创建路由以在更改计算参数时重新计算和更新缓存。

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

最新更新