Documentation ¶
Index ¶
- func DeleteCacheBySlot(ctx context.Context, rcClient *rockscache.Client, keys []string) error
- func GetRocksCacheOptions() *rockscache.Options
- func LuaDeleteBatch(ctx context.Context, rdb redis.Scripter, keys []string) error
- func LuaGetBatch(ctx context.Context, rdb redis.Scripter, keys []string) ([]any, error)
- func LuaSetBatchWithCommonExpire(ctx context.Context, rdb redis.Scripter, keys []string, values []string, ...) error
- func LuaSetBatchWithIndividualExpire(ctx context.Context, rdb redis.Scripter, keys []string, values []string, ...) error
- func NewBlackCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, ...) cache.BlackCache
- func NewConversationRedis(rdb redis.UniversalClient, localCache *config.LocalCache, ...) cache.ConversationCache
- func NewFriendCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, ...) cache.FriendCache
- func NewGroupCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, ...) cache.GroupCache
- func NewMinioCache(rdb redis.UniversalClient) minio.Cache
- func NewMsgCache(client redis.UniversalClient) cache.MsgCache
- func NewObjectCacheRedis(rdb redis.UniversalClient, objDB database.ObjectInfo) cache.ObjectCache
- func NewS3Cache(rdb redis.UniversalClient, s3 s3.Interface) cont.S3Cache
- func NewSeqConversationCacheRedis(rdb redis.UniversalClient, mgo database.SeqConversation) cache.SeqConversationCache
- func NewSeqUserCacheRedis(rdb redis.UniversalClient, mgo database.SeqUser) cache.SeqUser
- func NewThirdCache(rdb redis.UniversalClient) cache.ThirdCache
- func NewTokenCacheModel(rdb redis.UniversalClient, accessExpire int64) cache.TokenModel
- func NewUserCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, userDB database.User, ...) cache.UserCache
- func NewUserOnline(rdb redis.UniversalClient) cache.OnlineCache
- func ProcessKeysBySlot(ctx context.Context, redisClient redis.UniversalClient, keys []string, ...) error
- type BatchCacheCallback
- type BatchDeleterRedis
- type BlackCacheRedis
- type Config
- type ConversationRedisCache
- func (c *ConversationRedisCache) CloneConversationCache() cache.ConversationCache
- func (c *ConversationRedisCache) DelConversationIDs(userIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelConversationNotNotifyMessageUserIDs(userIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelConversationNotReceiveMessageUserIDs(conversationIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelConversationPinnedMessageUserIDs(userIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelConversationVersionUserIDs(userIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelConversations(ownerUserID string, conversationIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDs(groupID string) cache.ConversationCache
- func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDsHash(groupID string) cache.ConversationCache
- func (c *ConversationRedisCache) DelUserAllHasReadSeqs(ownerUserID string, conversationIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelUserConversationIDsHash(ownerUserIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) DelUserRecvMsgOpt(ownerUserID, conversationID string) cache.ConversationCache
- func (c *ConversationRedisCache) DelUsersConversation(conversationID string, ownerUserIDs ...string) cache.ConversationCache
- func (c *ConversationRedisCache) FindMaxConversationUserVersion(ctx context.Context, userID string) (*model.VersionLog, error)
- func (c *ConversationRedisCache) GetConversation(ctx context.Context, ownerUserID, conversationID string) (*model.Conversation, error)
- func (c *ConversationRedisCache) GetConversationNotReceiveMessageUserIDs(ctx context.Context, conversationID string) ([]string, error)
- func (c *ConversationRedisCache) GetConversations(ctx context.Context, ownerUserID string, conversationIDs []string) ([]*model.Conversation, error)
- func (c *ConversationRedisCache) GetPinnedConversationIDs(ctx context.Context, userID string) ([]string, error)
- func (c *ConversationRedisCache) GetUserAllConversations(ctx context.Context, ownerUserID string) ([]*model.Conversation, error)
- func (c *ConversationRedisCache) GetUserConversationIDs(ctx context.Context, ownerUserID string) ([]string, error)
- func (c *ConversationRedisCache) GetUserConversationIDsHash(ctx context.Context, ownerUserID string) (hash uint64, err error)
- func (c *ConversationRedisCache) GetUserNotNotifyConversationIDs(ctx context.Context, userID string) ([]string, error)
- func (c *ConversationRedisCache) GetUserRecvMsgOpt(ctx context.Context, ownerUserID, conversationID string) (opt int, err error)
- type FriendCacheRedis
- func (f *FriendCacheRedis) CloneFriendCache() cache.FriendCache
- func (f *FriendCacheRedis) DelFriend(ownerUserID, friendUserID string) cache.FriendCache
- func (f *FriendCacheRedis) DelFriendIDs(ownerUserIDs ...string) cache.FriendCache
- func (f *FriendCacheRedis) DelFriends(ownerUserID string, friendUserIDs []string) cache.FriendCache
- func (f *FriendCacheRedis) DelMaxFriendVersion(ownerUserIDs ...string) cache.FriendCache
- func (f *FriendCacheRedis) DelOwner(friendUserID string, ownerUserIDs []string) cache.FriendCache
- func (f *FriendCacheRedis) DelTwoWayFriendIDs(ctx context.Context, ownerUserID string) cache.FriendCache
- func (f *FriendCacheRedis) FindMaxFriendVersion(ctx context.Context, ownerUserID string) (*model.VersionLog, error)
- func (f *FriendCacheRedis) GetFriend(ctx context.Context, ownerUserID, friendUserID string) (friend *model.Friend, err error)
- func (f *FriendCacheRedis) GetFriendIDs(ctx context.Context, ownerUserID string) (friendIDs []string, err error)
- func (f *FriendCacheRedis) GetTwoWayFriendIDs(ctx context.Context, ownerUserID string) (twoWayFriendIDs []string, err error)
- type GroupCacheRedis
- func (g *GroupCacheRedis) BatchFindMaxGroupMemberVersion(ctx context.Context, groupIDs []string) ([]*model.VersionLog, error)
- func (g *GroupCacheRedis) CloneGroupCache() cache.GroupCache
- func (g *GroupCacheRedis) DelGroupAllRoleLevel(groupID string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupMemberIDs(groupID string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupMembersHash(groupID string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupMembersInfo(groupID string, userIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupRoleLevel(groupID string, roleLevels []int32) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupsInfo(groupIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupsMemberNum(groupID ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelGroupsOwner(groupIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelJoinedGroupID(userIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelMaxGroupMemberVersion(groupIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) DelMaxJoinGroupVersion(userIDs ...string) cache.GroupCache
- func (g *GroupCacheRedis) FindGroupMemberUser(ctx context.Context, groupIDs []string, userID string) ([]*model.GroupMember, error)
- func (g *GroupCacheRedis) FindMaxGroupMemberVersion(ctx context.Context, groupID string) (*model.VersionLog, error)
- func (g *GroupCacheRedis) FindMaxJoinGroupVersion(ctx context.Context, userID string) (*model.VersionLog, error)
- func (g *GroupCacheRedis) GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*model.GroupMember, err error)
- func (g *GroupCacheRedis) GetGroupInfo(ctx context.Context, groupID string) (group *model.Group, err error)
- func (g *GroupCacheRedis) GetGroupMemberHashMap(ctx context.Context, groupIDs []string) (map[string]*common.GroupSimpleUserID, error)
- func (g *GroupCacheRedis) GetGroupMemberIDs(ctx context.Context, groupID string) (groupMemberIDs []string, err error)
- func (g *GroupCacheRedis) GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *model.GroupMember, err error)
- func (g *GroupCacheRedis) GetGroupMemberNum(ctx context.Context, groupID string) (memberNum int64, err error)
- func (g *GroupCacheRedis) GetGroupMembersHash(ctx context.Context, groupID string) (hashCode uint64, err error)
- func (g *GroupCacheRedis) GetGroupMembersInfo(ctx context.Context, groupID string, userIDs []string) ([]*model.GroupMember, error)
- func (g *GroupCacheRedis) GetGroupOwner(ctx context.Context, groupID string) (*model.GroupMember, error)
- func (g *GroupCacheRedis) GetGroupRoleLevelMemberIDs(ctx context.Context, groupID string, roleLevel int32) ([]string, error)
- func (g *GroupCacheRedis) GetGroupRoleLevelMemberInfo(ctx context.Context, groupID string, roleLevel int32) ([]*model.GroupMember, error)
- func (g *GroupCacheRedis) GetGroupRolesLevelMemberInfo(ctx context.Context, groupID string, roleLevels []int32) ([]*model.GroupMember, error)
- func (g *GroupCacheRedis) GetGroupsInfo(ctx context.Context, groupIDs []string) (groups []*model.Group, err error)
- func (g *GroupCacheRedis) GetGroupsOwner(ctx context.Context, groupIDs []string) ([]*model.GroupMember, error)
- func (g *GroupCacheRedis) GetJoinedGroupIDs(ctx context.Context, userID string) (joinedGroupIDs []string, err error)
- type Option
- type RedisShardManager
- type UserCacheRedis
- func (u *UserCacheRedis) CloneUserCache() cache.UserCache
- func (u *UserCacheRedis) DelUsersGlobalRecvMsgOpt(userIDs ...string) cache.UserCache
- func (u *UserCacheRedis) DelUsersInfo(userIDs ...string) cache.UserCache
- func (u *UserCacheRedis) GetUserGlobalRecvMsgOpt(ctx context.Context, userID string) (opt int, err error)
- func (u *UserCacheRedis) GetUserInfo(ctx context.Context, userID string) (userInfo *model.User, err error)
- func (u *UserCacheRedis) GetUsersInfo(ctx context.Context, userIDs []string) ([]*model.User, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeleteCacheBySlot ¶
func GetRocksCacheOptions ¶
func GetRocksCacheOptions() *rockscache.Options
GetRocksCacheOptions returns the default configuration options for RocksCache.
func LuaDeleteBatch ¶
func LuaGetBatch ¶
func NewBlackCacheRedis ¶
func NewBlackCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, blackDB database.Black, options *rockscache.Options) cache.BlackCache
func NewConversationRedis ¶
func NewConversationRedis(rdb redis.UniversalClient, localCache *config.LocalCache, opts *rockscache.Options, db database.Conversation) cache.ConversationCache
func NewFriendCacheRedis ¶
func NewFriendCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, friendDB database.Friend, options *rockscache.Options) cache.FriendCache
NewFriendCacheRedis creates a new instance of FriendCacheRedis.
func NewGroupCacheRedis ¶
func NewGroupCacheRedis( rdb redis.UniversalClient, localCache *config.LocalCache, groupDB database.Group, groupMemberDB database.GroupMember, groupRequestDB database.GroupRequest, hashCode cache.GroupHash, opts *rockscache.Options, ) cache.GroupCache
func NewMinioCache ¶
func NewMsgCache ¶
func NewObjectCacheRedis ¶
func NewObjectCacheRedis(rdb redis.UniversalClient, objDB database.ObjectInfo) cache.ObjectCache
func NewSeqConversationCacheRedis ¶
func NewSeqConversationCacheRedis(rdb redis.UniversalClient, mgo database.SeqConversation) cache.SeqConversationCache
func NewSeqUserCacheRedis ¶
func NewThirdCache ¶
func NewThirdCache(rdb redis.UniversalClient) cache.ThirdCache
func NewTokenCacheModel ¶
func NewTokenCacheModel(rdb redis.UniversalClient, accessExpire int64) cache.TokenModel
func NewUserCacheRedis ¶
func NewUserCacheRedis(rdb redis.UniversalClient, localCache *config.LocalCache, userDB database.User, options *rockscache.Options) cache.UserCache
func NewUserOnline ¶
func NewUserOnline(rdb redis.UniversalClient) cache.OnlineCache
func ProcessKeysBySlot ¶
func ProcessKeysBySlot( ctx context.Context, redisClient redis.UniversalClient, keys []string, processFunc func(ctx context.Context, slot int64, keys []string) error, opts ...Option, ) error
ProcessKeysBySlot groups keys by their Redis cluster hash slots and processes them using the provided function.
Types ¶
type BatchCacheCallback ¶
type BatchCacheCallback[K comparable] interface { BatchCache(id K) }
type BatchDeleterRedis ¶
type BatchDeleterRedis struct {
// contains filtered or unexported fields
}
BatchDeleterRedis is a concrete implementation of the BatchDeleter interface based on Redis and RocksCache.
func NewBatchDeleterRedis ¶
func NewBatchDeleterRedis(redisClient redis.UniversalClient, options *rockscache.Options, redisPubTopics []string) *BatchDeleterRedis
NewBatchDeleterRedis creates a new BatchDeleterRedis instance.
func (*BatchDeleterRedis) AddKeys ¶
func (c *BatchDeleterRedis) AddKeys(keys ...string)
AddKeys adds keys to be deleted.
func (*BatchDeleterRedis) ChainExecDel ¶
func (c *BatchDeleterRedis) ChainExecDel(ctx context.Context) error
ChainExecDel is used for chain calls for batch deletion. It must call Clone to prevent memory pollution.
func (*BatchDeleterRedis) Clone ¶
func (c *BatchDeleterRedis) Clone() cache.BatchDeleter
Clone creates a copy of BatchDeleterRedis for chain calls to prevent memory pollution.
func (*BatchDeleterRedis) ExecDelWithKeys ¶
func (c *BatchDeleterRedis) ExecDelWithKeys(ctx context.Context, keys []string) error
ExecDelWithKeys directly takes keys for batch deletion and publishes deletion information.
type BlackCacheRedis ¶
type BlackCacheRedis struct { cache.BatchDeleter // contains filtered or unexported fields }
func (*BlackCacheRedis) CloneBlackCache ¶
func (b *BlackCacheRedis) CloneBlackCache() cache.BlackCache
func (*BlackCacheRedis) DelBlackIDs ¶
func (b *BlackCacheRedis) DelBlackIDs(_ context.Context, userID string) cache.BlackCache
func (*BlackCacheRedis) GetBlackIDs ¶
type ConversationRedisCache ¶
type ConversationRedisCache struct { cache.BatchDeleter // contains filtered or unexported fields }
func (*ConversationRedisCache) CloneConversationCache ¶
func (c *ConversationRedisCache) CloneConversationCache() cache.ConversationCache
func (*ConversationRedisCache) DelConversationIDs ¶
func (c *ConversationRedisCache) DelConversationIDs(userIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelConversationNotNotifyMessageUserIDs ¶ added in v3.8.1
func (c *ConversationRedisCache) DelConversationNotNotifyMessageUserIDs(userIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelConversationNotReceiveMessageUserIDs ¶
func (c *ConversationRedisCache) DelConversationNotReceiveMessageUserIDs(conversationIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelConversationPinnedMessageUserIDs ¶ added in v3.8.1
func (c *ConversationRedisCache) DelConversationPinnedMessageUserIDs(userIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelConversationVersionUserIDs ¶
func (c *ConversationRedisCache) DelConversationVersionUserIDs(userIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelConversations ¶
func (c *ConversationRedisCache) DelConversations(ownerUserID string, conversationIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDs ¶
func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDs(groupID string) cache.ConversationCache
func (*ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDsHash ¶
func (c *ConversationRedisCache) DelSuperGroupRecvMsgNotNotifyUserIDsHash(groupID string) cache.ConversationCache
func (*ConversationRedisCache) DelUserAllHasReadSeqs ¶
func (c *ConversationRedisCache) DelUserAllHasReadSeqs(ownerUserID string, conversationIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelUserConversationIDsHash ¶
func (c *ConversationRedisCache) DelUserConversationIDsHash(ownerUserIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) DelUserRecvMsgOpt ¶
func (c *ConversationRedisCache) DelUserRecvMsgOpt(ownerUserID, conversationID string) cache.ConversationCache
func (*ConversationRedisCache) DelUsersConversation ¶
func (c *ConversationRedisCache) DelUsersConversation(conversationID string, ownerUserIDs ...string) cache.ConversationCache
func (*ConversationRedisCache) FindMaxConversationUserVersion ¶
func (c *ConversationRedisCache) FindMaxConversationUserVersion(ctx context.Context, userID string) (*model.VersionLog, error)
func (*ConversationRedisCache) GetConversation ¶
func (c *ConversationRedisCache) GetConversation(ctx context.Context, ownerUserID, conversationID string) (*model.Conversation, error)
func (*ConversationRedisCache) GetConversationNotReceiveMessageUserIDs ¶
func (*ConversationRedisCache) GetConversations ¶
func (c *ConversationRedisCache) GetConversations(ctx context.Context, ownerUserID string, conversationIDs []string) ([]*model.Conversation, error)
func (*ConversationRedisCache) GetPinnedConversationIDs ¶ added in v3.8.1
func (*ConversationRedisCache) GetUserAllConversations ¶
func (c *ConversationRedisCache) GetUserAllConversations(ctx context.Context, ownerUserID string) ([]*model.Conversation, error)
func (*ConversationRedisCache) GetUserConversationIDs ¶
func (*ConversationRedisCache) GetUserConversationIDsHash ¶
func (*ConversationRedisCache) GetUserNotNotifyConversationIDs ¶ added in v3.8.1
func (*ConversationRedisCache) GetUserRecvMsgOpt ¶
type FriendCacheRedis ¶
type FriendCacheRedis struct { cache.BatchDeleter // contains filtered or unexported fields }
FriendCacheRedis is an implementation of the FriendCache interface using Redis.
func (*FriendCacheRedis) CloneFriendCache ¶
func (f *FriendCacheRedis) CloneFriendCache() cache.FriendCache
func (*FriendCacheRedis) DelFriend ¶
func (f *FriendCacheRedis) DelFriend(ownerUserID, friendUserID string) cache.FriendCache
DelFriend deletes friend info from the cache.
func (*FriendCacheRedis) DelFriendIDs ¶
func (f *FriendCacheRedis) DelFriendIDs(ownerUserIDs ...string) cache.FriendCache
DelFriendIDs deletes friend IDs from the cache.
func (*FriendCacheRedis) DelFriends ¶
func (f *FriendCacheRedis) DelFriends(ownerUserID string, friendUserIDs []string) cache.FriendCache
DelFriends deletes multiple friend infos from the cache.
func (*FriendCacheRedis) DelMaxFriendVersion ¶
func (f *FriendCacheRedis) DelMaxFriendVersion(ownerUserIDs ...string) cache.FriendCache
func (*FriendCacheRedis) DelOwner ¶
func (f *FriendCacheRedis) DelOwner(friendUserID string, ownerUserIDs []string) cache.FriendCache
func (*FriendCacheRedis) DelTwoWayFriendIDs ¶
func (f *FriendCacheRedis) DelTwoWayFriendIDs(ctx context.Context, ownerUserID string) cache.FriendCache
DelTwoWayFriendIDs deletes two-way friend IDs from the cache.
func (*FriendCacheRedis) FindMaxFriendVersion ¶
func (f *FriendCacheRedis) FindMaxFriendVersion(ctx context.Context, ownerUserID string) (*model.VersionLog, error)
func (*FriendCacheRedis) GetFriend ¶
func (f *FriendCacheRedis) GetFriend(ctx context.Context, ownerUserID, friendUserID string) (friend *model.Friend, err error)
GetFriend retrieves friend info from the cache or the database if not found.
func (*FriendCacheRedis) GetFriendIDs ¶
func (f *FriendCacheRedis) GetFriendIDs(ctx context.Context, ownerUserID string) (friendIDs []string, err error)
GetFriendIDs retrieves friend IDs from the cache or the database if not found.
func (*FriendCacheRedis) GetTwoWayFriendIDs ¶
func (f *FriendCacheRedis) GetTwoWayFriendIDs(ctx context.Context, ownerUserID string) (twoWayFriendIDs []string, err error)
GetTwoWayFriendIDs retrieves two-way friend IDs from the cache.
type GroupCacheRedis ¶
type GroupCacheRedis struct { cache.BatchDeleter // contains filtered or unexported fields }
func (*GroupCacheRedis) BatchFindMaxGroupMemberVersion ¶
func (g *GroupCacheRedis) BatchFindMaxGroupMemberVersion(ctx context.Context, groupIDs []string) ([]*model.VersionLog, error)
func (*GroupCacheRedis) CloneGroupCache ¶
func (g *GroupCacheRedis) CloneGroupCache() cache.GroupCache
func (*GroupCacheRedis) DelGroupAllRoleLevel ¶
func (g *GroupCacheRedis) DelGroupAllRoleLevel(groupID string) cache.GroupCache
func (*GroupCacheRedis) DelGroupMemberIDs ¶
func (g *GroupCacheRedis) DelGroupMemberIDs(groupID string) cache.GroupCache
func (*GroupCacheRedis) DelGroupMembersHash ¶
func (g *GroupCacheRedis) DelGroupMembersHash(groupID string) cache.GroupCache
func (*GroupCacheRedis) DelGroupMembersInfo ¶
func (g *GroupCacheRedis) DelGroupMembersInfo(groupID string, userIDs ...string) cache.GroupCache
func (*GroupCacheRedis) DelGroupRoleLevel ¶
func (g *GroupCacheRedis) DelGroupRoleLevel(groupID string, roleLevels []int32) cache.GroupCache
func (*GroupCacheRedis) DelGroupsInfo ¶
func (g *GroupCacheRedis) DelGroupsInfo(groupIDs ...string) cache.GroupCache
func (*GroupCacheRedis) DelGroupsMemberNum ¶
func (g *GroupCacheRedis) DelGroupsMemberNum(groupID ...string) cache.GroupCache
func (*GroupCacheRedis) DelGroupsOwner ¶
func (g *GroupCacheRedis) DelGroupsOwner(groupIDs ...string) cache.GroupCache
func (*GroupCacheRedis) DelJoinedGroupID ¶
func (g *GroupCacheRedis) DelJoinedGroupID(userIDs ...string) cache.GroupCache
func (*GroupCacheRedis) DelMaxGroupMemberVersion ¶
func (g *GroupCacheRedis) DelMaxGroupMemberVersion(groupIDs ...string) cache.GroupCache
func (*GroupCacheRedis) DelMaxJoinGroupVersion ¶
func (g *GroupCacheRedis) DelMaxJoinGroupVersion(userIDs ...string) cache.GroupCache
func (*GroupCacheRedis) FindGroupMemberUser ¶
func (g *GroupCacheRedis) FindGroupMemberUser(ctx context.Context, groupIDs []string, userID string) ([]*model.GroupMember, error)
func (*GroupCacheRedis) FindMaxGroupMemberVersion ¶
func (g *GroupCacheRedis) FindMaxGroupMemberVersion(ctx context.Context, groupID string) (*model.VersionLog, error)
func (*GroupCacheRedis) FindMaxJoinGroupVersion ¶
func (g *GroupCacheRedis) FindMaxJoinGroupVersion(ctx context.Context, userID string) (*model.VersionLog, error)
func (*GroupCacheRedis) GetAllGroupMembersInfo ¶
func (g *GroupCacheRedis) GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*model.GroupMember, err error)
func (*GroupCacheRedis) GetGroupInfo ¶
func (*GroupCacheRedis) GetGroupMemberHashMap ¶
func (g *GroupCacheRedis) GetGroupMemberHashMap(ctx context.Context, groupIDs []string) (map[string]*common.GroupSimpleUserID, error)
func (*GroupCacheRedis) GetGroupMemberIDs ¶
func (*GroupCacheRedis) GetGroupMemberInfo ¶
func (g *GroupCacheRedis) GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *model.GroupMember, err error)
func (*GroupCacheRedis) GetGroupMemberNum ¶
func (*GroupCacheRedis) GetGroupMembersHash ¶
func (*GroupCacheRedis) GetGroupMembersInfo ¶
func (g *GroupCacheRedis) GetGroupMembersInfo(ctx context.Context, groupID string, userIDs []string) ([]*model.GroupMember, error)
func (*GroupCacheRedis) GetGroupOwner ¶
func (g *GroupCacheRedis) GetGroupOwner(ctx context.Context, groupID string) (*model.GroupMember, error)
func (*GroupCacheRedis) GetGroupRoleLevelMemberIDs ¶
func (*GroupCacheRedis) GetGroupRoleLevelMemberInfo ¶
func (g *GroupCacheRedis) GetGroupRoleLevelMemberInfo(ctx context.Context, groupID string, roleLevel int32) ([]*model.GroupMember, error)
func (*GroupCacheRedis) GetGroupRolesLevelMemberInfo ¶
func (g *GroupCacheRedis) GetGroupRolesLevelMemberInfo(ctx context.Context, groupID string, roleLevels []int32) ([]*model.GroupMember, error)
func (*GroupCacheRedis) GetGroupsInfo ¶
func (*GroupCacheRedis) GetGroupsOwner ¶
func (g *GroupCacheRedis) GetGroupsOwner(ctx context.Context, groupIDs []string) ([]*model.GroupMember, error)
func (*GroupCacheRedis) GetJoinedGroupIDs ¶
type Option ¶
type Option func(c *Config)
Option is a function type for configuring Config
func WithBatchSize ¶
WithBatchSize sets the number of keys to process per batch
func WithConcurrentLimit ¶
WithConcurrentLimit sets the concurrency limit
func WithContinueOnError ¶
WithContinueOnError sets whether to continue processing on error
type RedisShardManager ¶
type RedisShardManager struct {
// contains filtered or unexported fields
}
RedisShardManager is a class for sharding and processing keys
func NewRedisShardManager ¶
func NewRedisShardManager(redisClient redis.UniversalClient, opts ...Option) *RedisShardManager
NewRedisShardManager creates a new RedisShardManager instance
func (*RedisShardManager) ProcessKeysBySlot ¶
func (rsm *RedisShardManager) ProcessKeysBySlot( ctx context.Context, keys []string, processFunc func(ctx context.Context, slot int64, keys []string) error, ) error
ProcessKeysBySlot groups keys by their Redis cluster hash slots and processes them using the provided function.
type UserCacheRedis ¶
type UserCacheRedis struct { cache.BatchDeleter // contains filtered or unexported fields }
func (*UserCacheRedis) CloneUserCache ¶
func (u *UserCacheRedis) CloneUserCache() cache.UserCache
func (*UserCacheRedis) DelUsersGlobalRecvMsgOpt ¶
func (u *UserCacheRedis) DelUsersGlobalRecvMsgOpt(userIDs ...string) cache.UserCache
func (*UserCacheRedis) DelUsersInfo ¶
func (u *UserCacheRedis) DelUsersInfo(userIDs ...string) cache.UserCache