From ba802a380fd30e69b241f7b362a4af54c9ff3df7 Mon Sep 17 00:00:00 2001 From: hujiebin Date: Wed, 30 Aug 2023 10:27:15 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8redisCluster=E4=B8=AD=E7=9A=84zset?= =?UTF-8?q?=E4=BB=A3=E6=9B=BF,=E5=8F=AA=E6=98=AF=E5=8F=96=E5=87=BA?= =?UTF-8?q?=E5=A4=A7=E4=BA=8E100=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- domain/cache/room_c/userRoomVisit.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/domain/cache/room_c/userRoomVisit.go b/domain/cache/room_c/userRoomVisit.go index 53ada68..720cfba 100644 --- a/domain/cache/room_c/userRoomVisit.go +++ b/domain/cache/room_c/userRoomVisit.go @@ -8,6 +8,7 @@ import ( "git.hilo.cn/hilo-common/resource/redisCli" "github.com/bluele/gcache" redis2 "github.com/go-redis/redis/v8" + "github.com/spf13/cast" "hilo-group/_const/redis_key" "strconv" "time" @@ -86,6 +87,20 @@ func MGetRoomVisitCount(groupIds []string) (map[string]string, error) { if len(groupIds) <= 0 { return visit, nil } + // 用redisCluster中的zset代替,只是取出大于100的 + zKey := redis_key.GetPrefixRoomVisitCountZset() + zRes, err := redisCli.GetClusterRedis().ZRevRangeByScoreWithScores(context.Background(), zKey, &redis2.ZRangeBy{ + Min: fmt.Sprintf("%d", 100), // 100人数以上的。 + Max: "+inf", + }).Result() + if err != nil { + mylogrus.MyLog.Errorf("MGetRoomVisitCount zset fail:%v", err) + return visit, err + } + for _, v := range zRes { + visit[cast.ToString(v.Member)] = cast.ToString(v.Score) + } + return visit, nil var miss []string for _, groupId := range groupIds { -- 2.22.0