>想象一下,一个应用程序有数百个用户,这些数据很少(最多 10 个名称/值对),但构建在一个系统上,为了获取这些数据,必须进行一些复杂的计算。
这个想法是,我有一个带有"历史记录"的系统,并且需要历史记录状态,因此系统必须"处理"历史记录以拥有最后的实际数据。
好的,这个过程需要时间,但我想,在我的情况下,唯一编辑数据的人是管理员或管理员事件,所以与其计算每个用户调用的数据,不如我只是:
- 创建缓存对象(在内存中?
- 仅计算管理事件的"历史记录"(和服务器重新启动)
- 为用户提供来自此缓存对象的数据,无需计算
这是个好主意吗?如果是这样,实现这一目标的最佳方法是什么?
我简单地制作了一个名为"ServerData"的模块,可以将所有用户数据保存在数组中,并创建了一个名为"serverDataUpdate()"的自定义函数,我在需要时调用它。
用户可以从此缓存模块获得所需的任何服务。
我问是因为这一切似乎太容易了,我搜索了 Node 的缓存方法,我看到了为此目的构建的一些额外模块。
他们能提供比这种"简单"方法更好的东西吗?
感觉有点太容易了,所以我不确定我是否没有错过什么
谢谢
如果您认为每次收到请求时都只计算相同的数字是矫枉过正的,是的,预先计算它们并将它们存储在内存中 - 只是为了服务。
您必须创建路由以在更改计算参数时重新计算和更新缓存。
请记住,如果您要在可扩展的容器编排系统(如 Kubernetes)中托管应用程序,则可能必须采用不同的方法。在这种情况下,将生成您的应用程序,并且每个应用程序都有自己的缓存。