如何缓存执行然后退出的节点代码

时间:2018-11-28 22:36:42

标签: node.js database caching

在Node中,通常我使用内存中的缓存或数据库或使用Lodash备忘录在服务器上缓存。这很容易,因为该过程永远不会退出。

但是,当运行一些先执行然后退出的节点代码时,如何缓存值,以便在以后执行同一代码时,它可以记住先前检索的值,而不必再次从文件中检索它们(这大约需要2秒,太慢了吗?

该程序的概要是:

(1)读取一些文件并提取600万个数字//需要此处的提示

(2)将这些数字返回到数组中

(3)流程退出

我知道我可以使用数据库,但不确定要这样简单的代码来建立数据库的复杂性。

我可以使用文件缓存,但是我不确定将600万个值写入文件然后在以后每次读取它们都会提高性能。

我不认为我可以使用内存中的高速缓存,因为在进程退出时会擦除内存吗?对吧?

有什么想法吗?谢谢

1 个答案:

答案 0 :(得分:1)

您可以使节点进程保持运行状态,然后将所有内容缓存在内存中。然后使用employeeInfo(RESTful)或express(通过套接字)的方式将记录转发给使用者。


对于npm软件包

DanPlugin.js

socket.io

DanPluginConsumer.js

let data;
module.exports = function expensiveGetData() {
   if(data) return data;
   // do expensive read
   data = ...the result;
}