From 548395b4b4f2887c01af64da67fef574ee5d3658 Mon Sep 17 00:00:00 2001 From: Tony Date: Thu, 2 Jun 2022 05:33:24 -0800 Subject: [PATCH] fix(core): unnecessary redis io (#9875) --- lib/middleware/cache/redis.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/middleware/cache/redis.js b/lib/middleware/cache/redis.js index eb534abcab..1e9889d0f6 100644 --- a/lib/middleware/cache/redis.js +++ b/lib/middleware/cache/redis.js @@ -32,8 +32,10 @@ module.exports = { let [value, cacheTtl] = await redisClient.mget(key, cacheTtlKey); if (value && refresh) { if (!cacheTtl) { + // if cacheTtl is not set, that means the cache expire time is contentExpire cacheTtl = config.cache.contentExpire; - redisClient.set(cacheTtlKey, cacheTtl, 'EX', cacheTtl); + // dont save cacheTtl to Redis, as it is the default value + // redisClient.set(cacheTtlKey, cacheTtl, 'EX', cacheTtl); } else { redisClient.expire(cacheTtlKey, cacheTtl); } @@ -54,7 +56,10 @@ module.exports = { value = JSON.stringify(value); } if (key) { - redisClient.set(getCacheTtlKey(key), maxAge, 'EX', maxAge); + if (maxAge !== config.cache.contentExpire) { + // Only set cacheTtlKey if maxAge !== contentExpire + redisClient.set(getCacheTtlKey(key), maxAge, 'EX', maxAge); + } return redisClient.set(key, value, 'EX', maxAge); // setMode: https://redis.io/commands/set } },