Node.js版本:v6.10.3 操作系统:Windows
我正在尝试使用Node JS实现缓存。使用节点缓存模块。 我使用下面的代码将数据设置为缓存并从缓存中获取数据。
const NodeCache = require( "node-cache" );
const myCache = new NodeCache( { stdTTL: 3000, checkperiod: 3000} );
obj = { my: "Special", variable: 42 };
myCache.set( "myKey", obj ); // Calling DB, fetch the data and set in to cache for first time when client requests.
value = myCache.get( "myKey" );
console.log('value: ',value);
console.log(JSON.stringify(myCache));
但是一旦我设置了数据,下次当我尝试获取数据时(没有设置数据,就像我已经设置的那样)那么它给了我未定义的值。当我打印缓存时,我看不到值(如下例所示,值为{my:" Special",变量:42})。 因此,值不会持久保存到缓存中。我已经将stdTTL提供为3000毫秒,因此数据应该可以使用3000毫秒,但它不能用于缓存。
我是否需要使用TTL设置内容,或者我们是否有其他设置来获取缓存中保存的值?