RedisKVCache で Redis から読み取った値を MemoryKVCache に書き戻す (MisskeyIO#289)

This commit is contained in:
riku6460 2023-12-26 13:47:32 +09:00 committed by GitHub
parent 086bcab57b
commit 25829e12a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -55,7 +55,10 @@ export class RedisKVCache<T> {
const cached = await this.redisClient.get(`kvcache:${this.name}:${key}`); const cached = await this.redisClient.get(`kvcache:${this.name}:${key}`);
if (cached == null) return undefined; if (cached == null) return undefined;
return this.fromRedisConverter(cached); const parsed = this.fromRedisConverter(cached);
if (parsed == null) return undefined;
this.memoryCache.set(key, parsed);
return parsed;
} }
@bindThis @bindThis
@ -150,7 +153,7 @@ export class RedisSingleCache<T> {
const cached = await this.redisClient.get(`singlecache:${this.name}`); const cached = await this.redisClient.get(`singlecache:${this.name}`);
if (cached == null) return undefined; if (cached == null) return undefined;
const parsed = this.fromRedisConverter(cached); const parsed = this.fromRedisConverter(cached);
if (parsed == null) return undefined; if (parsed == null) return undefined;
this.memoryCache.set(parsed); this.memoryCache.set(parsed);
return parsed; return parsed;
} }