From 908e0f3b8bb128bf21f23c7e4af5a838ebc612aa Mon Sep 17 00:00:00 2001
From: syuilo <Syuilotan@yahoo.co.jp>
Date: Wed, 24 Jan 2024 13:51:16 +0900
Subject: [PATCH] perf(reversi): set expire matchSpecific and matchAny

---
 packages/backend/src/core/ReversiService.ts | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/packages/backend/src/core/ReversiService.ts b/packages/backend/src/core/ReversiService.ts
index 923ccc5a64..699b312949 100644
--- a/packages/backend/src/core/ReversiService.ts
+++ b/packages/backend/src/core/ReversiService.ts
@@ -125,7 +125,10 @@ export class ReversiService implements OnApplicationShutdown, OnModuleInit {
 		}
 		//#endregion
 
-		this.redisClient.zadd(`reversi:matchSpecific:${targetUser.id}`, Date.now(), me.id);
+		const redisPipeline = this.redisClient.pipeline();
+		redisPipeline.zadd(`reversi:matchSpecific:${targetUser.id}`, Date.now(), me.id);
+		redisPipeline.expire(`reversi:matchSpecific:${targetUser.id}`, 120, 'NX');
+		redisPipeline.exec();
 
 		this.globalEventService.publishReversiStream(targetUser.id, 'invited', {
 			user: await this.userEntityService.pack(me, targetUser),
@@ -186,7 +189,10 @@ export class ReversiService implements OnApplicationShutdown, OnModuleInit {
 
 			return game;
 		} else {
-			await this.redisClient.zadd('reversi:matchAny', Date.now(), me.id);
+			const redisPipeline = this.redisClient.pipeline();
+			redisPipeline.zadd('reversi:matchAny', Date.now(), me.id);
+			redisPipeline.expire('reversi:matchAny', 120, 'NX');
+			await redisPipeline.exec();
 			return null;
 		}
 	}