From fbaf70118d08d708f6e9bb568613a479fddc69d3 Mon Sep 17 00:00:00 2001 From: huanghai <10402852@qq.com> Date: Wed, 22 Jul 2020 07:47:04 +0800 Subject: [PATCH] 'commit' --- dsBaseRpc/Utils/SysKit/SysKit.go | 48 ++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/dsBaseRpc/Utils/SysKit/SysKit.go b/dsBaseRpc/Utils/SysKit/SysKit.go index 821dfd1d..73a86ed3 100644 --- a/dsBaseRpc/Utils/SysKit/SysKit.go +++ b/dsBaseRpc/Utils/SysKit/SysKit.go @@ -8,6 +8,7 @@ import ( "fmt" "strings" ) + //操作数据库的变量 var db = DbUtil.Engine @@ -35,28 +36,33 @@ func ClearRpcRedis() { var n int //不能删除的前缀,统一认证在用的前缀 excludePrefix := []string{"oauth2:access", "TJoinApp"} - for { - var keys []string - var err error - keys, cursor, err = redisClient.Scan(cursor, "T*", 10).Result() - if err != nil { - //panic(err) - fmt.Println(err.Error()) - } - if cursor == 0 { - break - } - for i := range keys { - var found = false - for j := range excludePrefix { - if strings.HasPrefix(keys[i], excludePrefix[j]) { - found = true - break - } + includePrefix := []string{"T*", "pk_*"} + + //每一种需要清理的前缀 + for k := range includePrefix { + // while true 一直在处理,直到没有了~ + for { + var keys []string + var err error + keys, cursor, err = redisClient.Scan(cursor, includePrefix[k], 10).Result() + if err != nil { + fmt.Println(err.Error()) + } + if cursor == 0 { + break } - if !found { - redisClient.Del(keys[i]) - n++ + for i := range keys { + var found = false + for j := range excludePrefix { + if strings.HasPrefix(keys[i], excludePrefix[j]) { + found = true + break + } + } + if !found { + redisClient.Del(keys[i]) + n++ + } } } }