From 0d2b1431b69ea96af5f670161f4b400e648939cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 6 Sep 2022 15:53:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(cache):=E4=BF=AE=E5=A4=8D=E7=BC=93=E5=AD=98?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=85=B3=E7=B3=BB=E8=A2=AB=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E5=B8=B8=E6=B8=85=E9=99=A4=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cache/relation.go | 9 ++++----- main.go | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cache/relation.go b/cache/relation.go index 007c254..f50f5be 100644 --- a/cache/relation.go +++ b/cache/relation.go @@ -98,18 +98,17 @@ func ClearOrphanRelationItems() error { if err != nil { return err } - keysNeedRemove := make([]string, 0) for _, item := range relationItems { - exist, err := Exists(item) + separated := strings.Split(item, ";") + exist, err := Exists(separated[1]) if err != nil { return err } if !exist { - keysNeedRemove = append(keysNeedRemove, item) + cmd := global.RedisConn.B().Srem().Key(key).Member(item).Build() + cmds = append(cmds, cmd) } } - cmd := global.RedisConn.B().Srem().Key(key).Member(keysNeedRemove...).Build() - cmds = append(cmds, cmd) } errs := global.RedisConn.DoMulti(global.Ctx, cmds...) firstErr, has := lo.Find(errs, func(elem rueidis.RedisResult) bool { diff --git a/main.go b/main.go index 2332316..5f10237 100644 --- a/main.go +++ b/main.go @@ -160,6 +160,7 @@ func DBConnectionKeepLive() { func RedisOrphanCleanup() { for range time.Tick(2 * time.Minute) { + log.Printf("[Cache] [Cleanup] Proceeding cleanup orphan keys.") err := cache.ClearOrphanRelationItems() if err != nil { log.Printf("[Cache] [Cleanup] Orphan keys clear failed: %v", err)