From f2d59c4f91ef4ca1555abd04673d729f9d6f4af1 Mon Sep 17 00:00:00 2001 From: Chen Tianjie Date: Thu, 7 Dec 2023 19:48:15 +0800 Subject: [PATCH] Avoid unnecessary slot computing in KEYS command. (#12843) If not in cluster mode, there is no need to compute slot. A bit optimization for #12754 --- src/db.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/db.c b/src/db.c index f82e090ed..6cef5d734 100644 --- a/src/db.c +++ b/src/db.c @@ -1003,12 +1003,12 @@ void keysCommand(client *c) { long numkeys = 0; void *replylen = addReplyDeferredLen(c); allkeys = (pattern[0] == '*' && plen == 1); - if (!allkeys) { + if (server.cluster_enabled && !allkeys) { pslot = patternHashSlot(pattern, plen); } dictIterator *di = NULL; dbIterator *dbit = NULL; - if (server.cluster_enabled && !allkeys && pslot != -1) { + if (pslot != -1) { di = dictGetSafeIterator(c->db->dict[pslot]); } else { dbit = dbIteratorInit(c->db, DB_MAIN);