Open wbk opened 3 years ago
Even if i set the TTL to 10 it does not expire. I had to set it like below to make it work.
cacheManager.caching({
store: redisStore,
host: process.env.REDIS_HOST,
port: process.env.REDIS_PORT,
password: process.env.REDIS_PASSWORD,
db: 0,
ttl: +process.env.REDIS_TTL || 10,
});
await REDIS_CACHE.set(`key`, value, 10); // setting it here does not work.
We're seeing the same issue. As a workaround, we were able to set a default cache value like this for cluster mode:
var redisCache = cacheManager.caching({
store: redisStore,
clusterConfig: {
… (various config settings) …
options: {
ttl: 600
}
}
});
For non-cluster mode you'd add an options
object to the redisInstance
value instead of clusterConfig
.
But ultimately I hope this gets fixed. We would prefer to set the TTL at the top level so it remains compatible with other cache stores.
Did a rewrite of this package with top level ttl used by external Redis instance here: https://www.npmjs.com/package/@tirke/node-cache-manager-ioredis
Example
Source
Output (Actual)
Output (Expected)