mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-26 19:46:57 +08:00
go-redis
This commit is contained in:
parent
f4cdbe985e
commit
1aee41e7e7
@ -9,6 +9,7 @@ import (
|
|||||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
go_redis "github.com/go-redis/redis/v8"
|
go_redis "github.com/go-redis/redis/v8"
|
||||||
@ -225,3 +226,93 @@ func (d *DataBases) DelMsgFromCache(uid string, seqList []uint32, operationID st
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) SetGetuiToken(token string, expireTime int64) error {
|
||||||
|
return d.rdb.Set(context.Background(), getuiToken, token, time.Duration(expireTime)*time.Second).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) GetGetuiToken() (string, error) {
|
||||||
|
result := d.rdb.Get(context.Background(), getuiToken)
|
||||||
|
return result.String(), result.Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) AddFriendToCache(userID string, friendIDList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range friendIDList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SAdd(context.Background(), friendRelationCache+userID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) ReduceFriendToCache(userID string, friendIDList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range friendIDList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SRem(context.Background(), friendRelationCache+userID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) GetFriendIDListFromCache(userID string) ([]string, error) {
|
||||||
|
result := d.rdb.SMembers(context.Background(), friendRelationCache+userID)
|
||||||
|
return result.Result()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) AddBlackUserToCache(userID string, blackList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range blackList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SAdd(context.Background(), blackListCache+userID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) ReduceBlackUserFromCache(userID string, blackList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range blackList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SRem(context.Background(), blackListCache+userID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) GetBlackListFromCache(userID string) ([]string, error) {
|
||||||
|
result := d.rdb.SMembers(context.Background(), blackListCache+userID)
|
||||||
|
return result.Result()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) AddGroupMemberToCache(groupID string, userIDList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range userIDList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SAdd(context.Background(), groupCache+groupID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) ReduceGroupMemberFromCache(groupID string, userIDList ...string) error {
|
||||||
|
var IDList []interface{}
|
||||||
|
for _, id := range userIDList {
|
||||||
|
IDList = append(IDList, id)
|
||||||
|
}
|
||||||
|
return d.rdb.SRem(context.Background(), groupCache+groupID, IDList...).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) GetGroupMemberIDListFromCache(groupID string) ([]string, error) {
|
||||||
|
result := d.rdb.SMembers(context.Background(), groupCache+groupID)
|
||||||
|
return result.Result()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) SetUserInfoToCache(userID string, m map[string]interface{}) error {
|
||||||
|
return d.rdb.HSet(context.Background(), userInfoCache+userID, m).Err()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (d *DataBases) GetUserInfoFromCache(userID string) (*pbCommon.UserInfo, error) {
|
||||||
|
result, err := d.rdb.HGetAll(context.Background(), userInfoCache+userID).Result()
|
||||||
|
bytes, err := json.Marshal(result)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
userInfo := &pbCommon.UserInfo{}
|
||||||
|
if err := proto.Unmarshal(bytes, userInfo); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
err = json.Unmarshal(bytes, userInfo)
|
||||||
|
return userInfo, err
|
||||||
|
}
|
||||||
|
@ -7,7 +7,6 @@ import (
|
|||||||
pbChat "Open_IM/pkg/proto/chat"
|
pbChat "Open_IM/pkg/proto/chat"
|
||||||
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
pbCommon "Open_IM/pkg/proto/sdk_ws"
|
||||||
"Open_IM/pkg/utils"
|
"Open_IM/pkg/utils"
|
||||||
"encoding/json"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
@ -25,7 +24,7 @@ const (
|
|||||||
userMinSeq = "REDIS_USER_MIN_SEQ:"
|
userMinSeq = "REDIS_USER_MIN_SEQ:"
|
||||||
uidPidToken = "UID_PID_TOKEN_STATUS:"
|
uidPidToken = "UID_PID_TOKEN_STATUS:"
|
||||||
conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:"
|
conversationReceiveMessageOpt = "CON_RECV_MSG_OPT:"
|
||||||
getuiToken = "GETUI"
|
getuiToken = "GETUI_TOKEN"
|
||||||
userInfoCache = "USER_INFO_CACHE:"
|
userInfoCache = "USER_INFO_CACHE:"
|
||||||
friendRelationCache = "FRIEND_RELATION_CACHE:"
|
friendRelationCache = "FRIEND_RELATION_CACHE:"
|
||||||
blackListCache = "BLACK_LIST_CACHE:"
|
blackListCache = "BLACK_LIST_CACHE:"
|
||||||
@ -172,104 +171,105 @@ func (d *DataBases) GetMultiConversationMsgOpt(userID string, conversationIDs []
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DataBases) SetGetuiToken(token string, expireTime int64) error {
|
//func (d *DataBases) SetGetuiToken(token string, expireTime int64) error {
|
||||||
_, err := d.Exec("SET", getuiToken, token, "ex", expireTime)
|
// _, err := d.Exec("SET", getuiToken, token, "ex", expireTime)
|
||||||
return err
|
// return err
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
func (d *DataBases) GetGetuiToken() (string, error) {
|
//func (d *DataBases) GetGetuiToken() (string, error) {
|
||||||
result, err := redis.String(d.Exec("GET", getuiToken))
|
// result, err := redis.String(d.Exec("GET", getuiToken))
|
||||||
return result, err
|
// return result, err
|
||||||
}
|
//}
|
||||||
|
|
||||||
func (d *DataBases) SearchContentType() {
|
func (d *DataBases) SearchContentType() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *DataBases) SetUserInfoToCache(userID string, m map[string]interface{}) error {
|
//func (d *DataBases) SetUserInfoToCache(userID string, m map[string]interface{}) error {
|
||||||
_, err := d.Exec("hmset", userInfoCache+userID, redis.Args{}.Add().AddFlat(m)...)
|
// _, err := d.Exec("hmset", userInfoCache+userID, redis.Args{}.Add().AddFlat(m)...)
|
||||||
return err
|
// return err
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//func (d *DataBases) GetUserInfoFromCache(userID string) (*pbCommon.UserInfo, error) {
|
||||||
|
// result, err := redis.String(d.Exec("hgetall", userInfoCache+userID))
|
||||||
|
// log2.NewInfo("", result)
|
||||||
|
// if err != nil {
|
||||||
|
// return nil, err
|
||||||
|
// }
|
||||||
|
// userInfo := &pbCommon.UserInfo{}
|
||||||
|
// err = json.Unmarshal([]byte(result), userInfo)
|
||||||
|
// return userInfo, err
|
||||||
|
//}
|
||||||
|
|
||||||
func (d *DataBases) GetUserInfoFromCache(userID string) (*pbCommon.UserInfo, error) {
|
//func (d *DataBases) AddFriendToCache(userID string, friendIDList ...string) error {
|
||||||
result, err := redis.String(d.Exec("hgetall", userInfoCache+userID))
|
// var IDList []interface{}
|
||||||
log2.NewInfo("", result)
|
// for _, id := range friendIDList {
|
||||||
if err != nil {
|
// IDList = append(IDList, id)
|
||||||
return nil, err
|
// }
|
||||||
}
|
// _, err := d.Exec("SADD", friendRelationCache+userID, IDList...)
|
||||||
userInfo := &pbCommon.UserInfo{}
|
// return err
|
||||||
err = json.Unmarshal([]byte(result), userInfo)
|
//}
|
||||||
return userInfo, err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *DataBases) AddFriendToCache(userID string, friendIDList ...string) error {
|
//func (d *DataBases) ReduceFriendToCache(userID string, friendIDList ...string) error {
|
||||||
var IDList []interface{}
|
// var IDList []interface{}
|
||||||
for _, id := range friendIDList {
|
// for _, id := range friendIDList {
|
||||||
IDList = append(IDList, id)
|
// IDList = append(IDList, id)
|
||||||
}
|
// }
|
||||||
_, err := d.Exec("SADD", friendRelationCache+userID, IDList...)
|
// _, err := d.Exec("SREM", friendRelationCache+userID, IDList...)
|
||||||
return err
|
// return err
|
||||||
}
|
//}
|
||||||
|
|
||||||
func (d *DataBases) ReduceFriendToCache(userID string, friendIDList ...string) error {
|
//func (d *DataBases) GetFriendIDListFromCache(userID string) ([]string, error) {
|
||||||
var IDList []interface{}
|
// result, err := redis.Strings(d.Exec("SMEMBERS", friendRelationCache+userID))
|
||||||
for _, id := range friendIDList {
|
// return result, err
|
||||||
IDList = append(IDList, id)
|
//}
|
||||||
}
|
//
|
||||||
_, err := d.Exec("SREM", friendRelationCache+userID, IDList...)
|
//func (d *DataBases) AddBlackUserToCache(userID string, blackList ...string) error {
|
||||||
return err
|
// var IDList []interface{}
|
||||||
}
|
// for _, id := range blackList {
|
||||||
|
// IDList = append(IDList, id)
|
||||||
|
// }
|
||||||
|
// _, err := d.Exec("SADD", blackListCache+userID, IDList...)
|
||||||
|
// return err
|
||||||
|
//}
|
||||||
|
|
||||||
func (d *DataBases) GetFriendIDListFromCache(userID string) ([]string, error) {
|
//func (d *DataBases) ReduceBlackUserFromCache(userID string, blackList ...string) error {
|
||||||
result, err := redis.Strings(d.Exec("SMEMBERS", friendRelationCache+userID))
|
// var IDList []interface{}
|
||||||
return result, err
|
// for _, id := range blackList {
|
||||||
}
|
// IDList = append(IDList, id)
|
||||||
|
// }
|
||||||
|
// _, err := d.Exec("SREM", blackListCache+userID, IDList...)
|
||||||
|
// return err
|
||||||
|
//}
|
||||||
|
|
||||||
func (d *DataBases) AddBlackUserToCache(userID string, blackList ...string) error {
|
//func (d *DataBases) GetBlackListFromCache(userID string) ([]string, error) {
|
||||||
var IDList []interface{}
|
// result, err := redis.Strings(d.Exec("SMEMBERS", blackListCache+userID))
|
||||||
for _, id := range blackList {
|
// return result, err
|
||||||
IDList = append(IDList, id)
|
//}
|
||||||
}
|
|
||||||
_, err := d.Exec("SADD", blackListCache+userID, IDList...)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *DataBases) ReduceBlackUserFromCache(userID string, blackList ...string) error {
|
//func (d *DataBases) AddGroupMemberToCache(groupID string, userIDList ...string) error {
|
||||||
var IDList []interface{}
|
// var IDList []interface{}
|
||||||
for _, id := range blackList {
|
// for _, id := range userIDList {
|
||||||
IDList = append(IDList, id)
|
// IDList = append(IDList, id)
|
||||||
}
|
// }
|
||||||
_, err := d.Exec("SREM", blackListCache+userID, IDList...)
|
// _, err := d.Exec("SADD", groupCache+groupID, IDList...)
|
||||||
return err
|
// return err
|
||||||
}
|
//}
|
||||||
|
|
||||||
func (d *DataBases) GetBlackListFromCache(userID string) ([]string, error) {
|
//func (d *DataBases) ReduceGroupMemberFromCache(groupID string, userIDList ...string) error {
|
||||||
result, err := redis.Strings(d.Exec("SMEMBERS", blackListCache+userID))
|
// var IDList []interface{}
|
||||||
return result, err
|
// for _, id := range userIDList {
|
||||||
}
|
// IDList = append(IDList, id)
|
||||||
|
// }
|
||||||
|
// _, err := d.Exec("SREM", groupCache+groupID, IDList...)
|
||||||
|
// return err
|
||||||
|
//}
|
||||||
|
|
||||||
func (d *DataBases) AddGroupMemberToCache(groupID string, userIDList ...string) error {
|
//func (d *DataBases) GetGroupMemberIDListFromCache(groupID string) ([]string, error) {
|
||||||
var IDList []interface{}
|
// result, err := redis.Strings(d.Exec("SMEMBERS", groupCache+groupID))
|
||||||
for _, id := range userIDList {
|
// return result, err
|
||||||
IDList = append(IDList, id)
|
//}
|
||||||
}
|
|
||||||
_, err := d.Exec("SADD", groupCache+groupID, IDList...)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *DataBases) ReduceGroupMemberFromCache(groupID string, userIDList ...string) error {
|
|
||||||
var IDList []interface{}
|
|
||||||
for _, id := range userIDList {
|
|
||||||
IDList = append(IDList, id)
|
|
||||||
}
|
|
||||||
_, err := d.Exec("SREM", groupCache+groupID, IDList...)
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func (d *DataBases) GetGroupMemberIDListFromCache(groupID string) ([]string, error) {
|
|
||||||
result, err := redis.Strings(d.Exec("SMEMBERS", groupCache+groupID))
|
|
||||||
return result, err
|
|
||||||
}
|
|
||||||
func (d *DataBases) GetMessageListBySeq(userID string, seqList []uint32, operationID string) (seqMsg []*pbCommon.MsgData, failedSeqList []uint32, errResult error) {
|
func (d *DataBases) GetMessageListBySeq(userID string, seqList []uint32, operationID string) (seqMsg []*pbCommon.MsgData, failedSeqList []uint32, errResult error) {
|
||||||
for _, v := range seqList {
|
for _, v := range seqList {
|
||||||
//MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
|
//MESSAGE_CACHE:169.254.225.224_reliability1653387820_0_1
|
||||||
|
Loading…
x
Reference in New Issue
Block a user