diff --git a/packages/backend/src/core/activitypub/ApDbResolverService.ts b/packages/backend/src/core/activitypub/ApDbResolverService.ts index 79a8fcc5d1..97cd5e3701 100644 --- a/packages/backend/src/core/activitypub/ApDbResolverService.ts +++ b/packages/backend/src/core/activitypub/ApDbResolverService.ts @@ -230,7 +230,7 @@ export class ApDbResolverService implements OnApplicationShutdown { * keyIdで見つからない場合、まずはキャッシュを更新して再取得 * If not found with keyId, update cache and reacquire */ - const cacheRaw = this.publicKeyByUserIdCache.cache.get(user.id); + const cacheRaw = this.publicKeyByUserIdCache.getRaw(user.id); if (cacheRaw && Date.now() - cacheRaw.date > 1000 * 60 * 5) { const exactKey = await this.refreshAndFindKey(user.id, keyId); if (exactKey) return { user, key: exactKey }; diff --git a/packages/backend/src/misc/cache.ts b/packages/backend/src/misc/cache.ts index 4fa3693995..42a00654ef 100644 --- a/packages/backend/src/misc/cache.ts +++ b/packages/backend/src/misc/cache.ts @@ -168,11 +168,6 @@ export class RedisSingleCache { return value; } - @bindThis - public getRaw(): T | undefined { - return this.memoryCache.get(); - } - @bindThis public async delete(): Promise { this.memoryCache.delete(); @@ -242,6 +237,11 @@ export class MemoryKVCache { return cached.value; } + @bindThis + public getRaw(key: string): { date: number; value: T; } | undefined { + return this.cache.get(key); + } + @bindThis public delete(key: string): void { this.cache.delete(key);