From 34492f3c9afa95cb13eb5aa129e3f8aa1381052b Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 22 Apr 2023 19:59:08 +0900 Subject: enhance(backend): tweak cache of federated instance #10631 --- packages/backend/src/core/FederatedInstanceService.ts | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'packages/backend/src/core/FederatedInstanceService.ts') diff --git a/packages/backend/src/core/FederatedInstanceService.ts b/packages/backend/src/core/FederatedInstanceService.ts index e028265bdc..1ead73b25a 100644 --- a/packages/backend/src/core/FederatedInstanceService.ts +++ b/packages/backend/src/core/FederatedInstanceService.ts @@ -23,8 +23,8 @@ export class FederatedInstanceService { private idService: IdService, ) { this.federatedInstanceCache = new RedisKVCache(this.redisClient, 'federatedInstance', { - lifetime: 1000 * 60 * 60 * 24, // 24h - memoryCacheLifetime: 1000 * 60 * 30, // 30m + lifetime: 1000 * 60 * 30, // 30m + memoryCacheLifetime: 1000 * 60 * 3, // 3m fetcher: (key) => this.instancesRepository.findOneBy({ host: key }), toRedisConverter: (value) => JSON.stringify(value), fromRedisConverter: (value) => { @@ -65,15 +65,10 @@ export class FederatedInstanceService { } @bindThis - public async updateCachePartial(host: string, data: Partial): Promise { - host = this.utilityService.toPuny(host); - - const cached = await this.federatedInstanceCache.get(host); - if (cached == null) return; + public async update(id: Instance['id'], data: Partial): Promise { + const result = await this.instancesRepository.update(id, data); + const updated = result.raw[0]; - this.federatedInstanceCache.set(host, { - ...cached, - ...data, - }); + this.federatedInstanceCache.set(updated.host, updated); } } -- cgit v1.2.3-freya