From aeada20140570643cda084d374056469a5c27bf2 Mon Sep 17 00:00:00 2001 From: Chen Tianjie Date: Tue, 19 Mar 2024 10:14:19 +0800 Subject: [PATCH] Avoid unnecessary dict shrink in zremrangeGenericCommand (#13143) If the skiplist is emptied, there is no need to shrink the dict in skiplist, it can be deleted directly. --- src/t_zset.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/t_zset.c b/src/t_zset.c index 19a8c865b..3a5338067 100644 --- a/src/t_zset.c +++ b/src/t_zset.c @@ -2024,10 +2024,11 @@ void zremrangeGenericCommand(client *c, zrange_type rangetype) { break; } dictResumeAutoResize(zs->dict); - dictShrinkIfNeeded(zs->dict); if (dictSize(zs->dict) == 0) { dbDelete(c->db,key); keyremoved = 1; + } else { + dictShrinkIfNeeded(zs->dict); } } else { serverPanic("Unknown sorted set encoding");