From a4a9938675dc982bfc1109ecf41ca8df1a19ef4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=B6=9B?= Date: Tue, 6 Sep 2022 15:12:32 +0800 Subject: [PATCH] =?UTF-8?q?enhance(cache):=E7=B2=BE=E7=AE=80=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=85=B3=E7=B3=BB=E6=B8=85=E7=90=86=E7=9A=84=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cache/relation.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/cache/relation.go b/cache/relation.go index 1bb8ff9..007c254 100644 --- a/cache/relation.go +++ b/cache/relation.go @@ -98,16 +98,18 @@ func ClearOrphanRelationItems() error { if err != nil { return err } + keysNeedRemove := make([]string, 0) for _, item := range relationItems { exist, err := Exists(item) if err != nil { return err } if !exist { - cmd := global.RedisConn.B().Srem().Key(key).Member(item).Build() - cmds = append(cmds, cmd) + keysNeedRemove = append(keysNeedRemove, item) } } + 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 {