在Nestjs中启动应用程序后,是否可以更改CacheModule ttl?

时间:2019-01-29 07:38:53

标签: node.js caching nestjs

我已将CacheModule注册为特定的ttl CacheModule.register({ ttl: 5 * 60 * 60 })

我希望能够在应用程序运行后动态调整ttl

有可能吗?

1 个答案:

答案 0 :(得分:3)

可能是有一个从CacheManager导出的@nestjs/common,它用在CacheInterceptor内部,很少有研究表明仅将参数传递给cache-manager,其中ttl可以是一个函数,但是在将其传递给store之前已进行了评估(memorycache-manager故事之一),然后在其中有一行:

var maxAge = (options.ttl || options.ttl === 0) ? options.ttl * 1000 : lruOpts.maxAge;

通过此行,您可以假设您可能会做类似的事情:

const options = {
  ttl: () =>({ valueOf: () => someVariable })
}

因为:

let c = { valueOf: () => 2 }
console.log(100*c);

那只是我的想法,没有尝试。

致谢。