master
huanghai 5 years ago
parent 41b8b9f80e
commit fbaf70118d

@ -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++
}
}
}
}

Loading…
Cancel
Save