【发布时间】:2023-03-25 21:00:01
【问题描述】:
我有节点应用程序,我需要保留数据(只要节点应用程序还活着),它将为用户请求提供服务,(我不想为每个请求计算/解析它,所以我只做一次...... ) , 当节点应用程序关闭时,我不再需要这些数据。
我发现了以下(有效),但不确定这是不是最好的方法 有什么缺点的话。
这是我正在使用的东西
require.cache.persist.myData = myData;
我将 node 与 express 一起使用
【问题讨论】:
-
听起来您当前的方法缓存了所有会话/用户的数据(每个应用实例存储的数据)。如果此数据与会话相关(每个会话实例存储的数据),您可能希望使用会话数据。我找到了这篇文章,如果它有帮助的话。 codeforgeek.com/2014/09/manage-session-using-node-js-express-4
-
尝试使用 node-cache 进行缓存。我会使用合适的数据库。npmjs.com/package/node-cache
-
为什么不先将数据解析后保存到文件中。在文件名中使用本地 sessionID 以使其与应用程序实例保持相关。应用关闭时将其删除。
-
我使用 memcached 来处理这些东西。很棒的是缓存可以在我的应用程序的实例之间共享,并且在应用程序重启后它仍然存在。
-
如果您在服务器的生存期内只需要一些东西 - 只需将它们存储在一个对象中。它非常简单,您不必使用任何类型的包。只需使用一个文件,导出一个对象并开始在其中放入东西 :)
标签: javascript node.js express require