如何在nodejs中的多次运行之间保留临时文件?

时间:2016-04-30 16:49:35

标签: javascript node.js caching temporary-files

我有一个生成文件的小节点模块。

因为它非常慢并且会为同一输入产生相同的结果,所以我希望将最后一次编译与控件哈希保持在一起。

问题是现在我在哪里放置临时文件以便于访问?

如果依赖于我的模块的主节点应用程序重新启动,缓存也应该有效。

1 个答案:

答案 0 :(得分:1)

我会将所有评论收集到答案中。

据我所知,模块没有提供NPM标准的临时文件。放置它们的最佳位置取决于文件权限的配置方式,您正在运行的操作系统,主机应用程序的运行权限,托管环境的类型等等。

逻辑选项如下:

  1. 在OS临时目录
  2. 在模块目录下面的temp子目录中。
  3. 在可配置目录中,模块用户可以通过config参数或环境变量指定。
  4. 您可以通过os.tmpdir()找到操作系统临时目录的位置。

    模块下方的temp子目录。请记住,使用模块可能有多个进程,因此如果您将文件放在可能由多个进程共享的位置,那么如果文件应该是单独的,则需要使用生成的唯一名称。如果文件应该在进程之间共享,则进程或适当的锁定。

    并且,不要忘记清理维护,因此不会随着时间的推移积累临时文件。