From 15166f53b0c2a905ad4e7241f9c3bc28803e3d05 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Sun, 29 Jan 2023 11:37:11 +0800 Subject: [PATCH] errcode --- internal/rpc/group/group.go | 4 +++- pkg/common/db/cache/redis.go | 28 ++++++++++++++++------------ 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index c6526ad41..b758db1f3 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -58,6 +58,7 @@ func NewGroupServer(port int) *groupServer { var mysql relation.Mysql var mongo unrelation.Mongo var groupModel relation.Group + var redis cache.RedisClient err := mysql.InitConn().AutoMigrateModel(&groupModel) if err != nil { panic("db init err:" + err.Error()) @@ -68,8 +69,9 @@ func NewGroupServer(port int) *groupServer { panic("db init err:" + "conn is nil") } mongo.InitMongo() + redis.InitRedis() mongo.CreateSuperGroupIndex() - g.GroupInterface = controller.NewGroupController(groupModel.DB, cache.InitRedis(), mongo.GetClient()) + g.GroupInterface = controller.NewGroupController(groupModel.DB, redis.GetClient(), mongo.GetClient()) return &g } diff --git a/pkg/common/db/cache/redis.go b/pkg/common/db/cache/redis.go index ddb568e23..3f7488b15 100644 --- a/pkg/common/db/cache/redis.go +++ b/pkg/common/db/cache/redis.go @@ -14,7 +14,7 @@ import ( "strconv" "time" - go_redis "github.com/go-redis/redis/v8" + "github.com/go-redis/redis/v8" "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" ) @@ -42,12 +42,16 @@ const ( exTypeKeyLocker = "EX_LOCK:" ) -func InitRedis() go_redis.UniversalClient { - var rdb go_redis.UniversalClient +type RedisClient struct { + rdb redis.UniversalClient +} + +func (r *RedisClient) InitRedis() { + var rdb redis.UniversalClient var err error ctx := context.Background() if config.Config.Redis.EnableCluster { - rdb = go_redis.NewClusterClient(&go_redis.ClusterOptions{ + rdb = redis.NewClusterClient(&redis.ClusterOptions{ Addrs: config.Config.Redis.DBAddress, Username: config.Config.Redis.DBUserName, Password: config.Config.Redis.DBPassWord, // no password set @@ -59,7 +63,7 @@ func InitRedis() go_redis.UniversalClient { panic(err.Error() + " redis cluster " + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord) } } else { - rdb = go_redis.NewClient(&go_redis.Options{ + rdb = redis.NewClient(&redis.Options{ Addr: config.Config.Redis.DBAddress[0], Username: config.Config.Redis.DBUserName, Password: config.Config.Redis.DBPassWord, // no password set @@ -71,14 +75,14 @@ func InitRedis() go_redis.UniversalClient { panic(err.Error() + " redis " + config.Config.Redis.DBAddress[0] + config.Config.Redis.DBUserName + config.Config.Redis.DBPassWord) } } - return rdb + r.rdb = rdb } -type RedisClient struct { - rdb go_redis.UniversalClient +func (r *RedisClient) GetClient() redis.UniversalClient { + return r.rdb } -func NewRedisClient(rdb go_redis.UniversalClient) *RedisClient { +func NewRedisClient(rdb redis.UniversalClient) *RedisClient { return &RedisClient{rdb: rdb} } @@ -213,7 +217,7 @@ func (r *RedisClient) GetUserGlobalMsgRecvOpt(userID string) (int, error) { key := conversationReceiveMessageOpt + userID result, err := r.rdb.HGet(context.Background(), key, GlobalMsgRecvOpt).Result() if err != nil { - if err == go_redis.Nil { + if err == redis.Nil { return 0, nil } else { return 0, err @@ -289,7 +293,7 @@ func (r *RedisClient) CleanUpOneUserAllMsgFromRedis(userID string, operationID s key := messageCache + userID + "_" + "*" vals, err := r.rdb.Keys(ctx, key).Result() log2.Debug(operationID, "vals: ", vals) - if err == go_redis.Nil { + if err == redis.Nil { return nil } if err != nil { @@ -407,7 +411,7 @@ func (r *RedisClient) DelMsgFromCache(uid string, seqList []uint32, operationID key := messageCache + uid + "_" + strconv.Itoa(int(seq)) result, err := r.rdb.Get(context.Background(), key).Result() if err != nil { - if err == go_redis.Nil { + if err == redis.Nil { log2.NewDebug(operationID, utils.GetSelfFuncName(), err.Error(), "redis nil") } else { log2.NewError(operationID, utils.GetSelfFuncName(), err.Error(), key)