Fix memory cache invalidation not invalidating every item

This commit is contained in:
Ajay
2024-02-09 00:34:12 -05:00
parent af5e8cd68d
commit 09dd10ad6f

View File

@@ -361,10 +361,11 @@ async function setupCacheClientListener(cacheClient: RedisClientType,
cacheConnectionClientId = String(await cacheClient.clientId()); cacheConnectionClientId = String(await cacheClient.clientId());
cacheClient.subscribe("__redis__:invalidate", (messages) => { cacheClient.subscribe("__redis__:invalidate", (keys) => {
const key = messages?.[0]; if (keys) {
lastInvalidationMessage = Date.now(); lastInvalidationMessage = Date.now();
for (const key of keys) {
if (cache.delete(key)) { if (cache.delete(key)) {
lastInvalidation = Date.now(); lastInvalidation = Date.now();
} }
@@ -373,6 +374,8 @@ async function setupCacheClientListener(cacheClient: RedisClientType,
if (key && activeRequestPromises[key] !== undefined) { if (key && activeRequestPromises[key] !== undefined) {
resetKeys.add(key); resetKeys.add(key);
} }
}
}
}).catch(Logger.error); }).catch(Logger.error);
} }