我已将CacheModule
注册为特定的ttl
CacheModule.register({ ttl: 5 * 60 * 60 })
我希望能够在应用程序运行后动态调整ttl
。
有可能吗?
答案 0 :(得分:3)
可能是有一个从CacheManager
导出的@nestjs/common
,它用在CacheInterceptor
内部,很少有研究表明仅将参数传递给cache-manager
,其中ttl
可以是一个函数,但是在将其传递给store
之前已进行了评估(memory
是cache-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);
那只是我的想法,没有尝试。
致谢。