如何在一个node.js CLI应用程序中执行HTTP请求caching,该应用程序在应用程序退出后一直存在?

我正在编写一个使用GitHub API的node.js CLI应用程序。 每次调用应用程序时,我都不想每次都向GitHub发送多个HTTP请求,所以我想caching响应,并使用ETagLast-ModifiedETag确定是否需要发出请求。

我怎样才能坚持这些请求在用户的机器,而不诉诸读取和写入用户的主目录中的平面文件?

如果您希望在应用程序未运行时继续运行,那么存储到文件是最简单的select。 你可以用rediscaching或本地sql数据库来完成,但是你的用户也必须设置

你可以使用像memory-cache这样的东西来caching响应, 应用程序正在运行,而每次应用程序启动时只依靠一个新的HTTP请求。

Node.js有一个名为__dirname的variables,指向当前正在运行的脚本所在的目录。如果通过NPM安装了一个软件包,则这对应于全局的node_modules文件夹,哪些脚本具有读/写权限。 我结束了使用trivialdb包在这个目录中存储一个JSON文件。

一个警告:如果用户更新软件包,该文件夹将被覆盖,所以如果你想存储通过多次安装你的软件包的数据,存储在用户的主目录可能是最好的select。