如何在一个node.js CLI应用程序中执行HTTP请求caching,该应用程序在应用程序退出后一直存在?
我正在编写一个使用GitHub API的node.js CLI应用程序。 每次调用应用程序时,我都不想每次都向GitHub发送多个HTTP请求,所以我想caching响应,并使用ETag
和Last-Modified
标ETag
确定是否需要发出请求。
我怎样才能坚持这些请求在用户的机器,而不诉诸读取和写入用户的主目录中的平面文件?
如果您希望在应用程序未运行时继续运行,那么存储到文件是最简单的select。 你可以用rediscaching或本地sql数据库来完成,但是你的用户也必须设置它 。
你可以使用像memory-cache
这样的东西来caching响应, 而应用程序正在运行,而每次应用程序启动时只依靠一个新的HTTP请求。
Node.js有一个名为__dirname
的variables,指向当前正在运行的脚本所在的目录。如果通过NPM安装了一个软件包,则这对应于全局的node_modules
文件夹,哪些脚本具有读/写权限。 我结束了使用trivialdb
包在这个目录中存储一个JSON文件。
一个警告:如果用户更新软件包,该文件夹将被覆盖,所以如果你想存储通过多次安装你的软件包的数据,存储在用户的主目录可能是最好的select。