From 6647f969788f19545ca61ab38e03d0c6b75e661b Mon Sep 17 00:00:00 2001 From: Charlie <3140647@qq.com> Date: Fri, 13 Oct 2023 14:38:42 +0800 Subject: [PATCH] rename --- redis/rename_hook.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/redis/rename_hook.go b/redis/rename_hook.go index 38afb28..a8ac84c 100644 --- a/redis/rename_hook.go +++ b/redis/rename_hook.go @@ -8,10 +8,6 @@ import ( "github.com/redis/go-redis/v9" ) -var ( -// sequentials = sets.NewHashSet("RENAME", "RENAMENX", "MGET", "BLPOP", "BRPOP", "RPOPLPUSH", "SDIFFSTORE", "SINTER") -) - type renameKey struct { prefix string separator string @@ -57,10 +53,19 @@ func (r renameKey) renameKey(cmd redis.Cmder) { switch strings.ToUpper(cmd.Name()) { case "SELECT": // 无KEY指令 - case "RENAME", "RENAMENX", "MGET", "BLPOP", "BRPOP", "RPOPLPUSH", "SDIFFSTORE", "SINTER", "SINTERSTORE", "SUNIONSTORE": + case + "RENAME", "RENAMENX", + "MGET", + "RPOPLPUSH", + "SDIFF", "SDIFFSTORE", "SINTER", "SINTERSTORE", + "SUNION", "SUNIONSTORE", + "WATCH": // 连续KEY r.rename(args, createSepuence(1, len(args), 1)...) - case "sssss": + case + "BLPOP", "BRPOP", + "BRPOPLPUSH ", + "SMOVE": // 除最后一个外连续键 r.rename(args, createSepuence(1, len(args)-1, 1)...) case "MSET", "MSETNX": @@ -87,7 +92,7 @@ func (r renameKey) rename(args []any, indexes ...int) { func createSepuence(start, end, step int) []int { ret := make([]int, 0, (end-start)/step+1) - for i := start; i <= end; i += step { + for i := start; i < end; i += step { ret = append(ret, i) } return ret