在Node js命令行应用程序中caching
我正在尝试使用Node.js构build命令行应用程序
我使用节点caching来caching来自API调用的一些数据。
但是,当我尝试检索数据myCache.get( "key" )
以前使用myCache.set( "key", data, 10000 );
它总是返回undefined
。
我想这个问题是当我从命令行运行应用程序我每次创buildcaching对象const myCache = new NodeCache();
。
但是,如果不创build对象,caching将无法工作。 有没有解决这个问题?
您正在使用的caching库将数据保存在应用程序内存中。 所以一旦应用程序退出,caching将丢失。
在Web应用程序中,情况不同,因为应用程序永远不会退出(除非崩溃),所以caching保留在数据中。
解决这个问题的一个方法是将caching存储在外部存储(如Redis
(但是您必须让Redis服务器为此运行)或者可能只是在文本文件或SQLite数据库中。 您需要为此编写简单的caching库,或者search提供持久性存储的库。
更新:快速search给这个库: https : //www.npmjs.com/package/cache-manager ,我没有使用它,但文档说,它支持可能不同的存储持久化数据和node-cache-manager-fs
可能适合你的情况。