first commit

This commit is contained in:
Yangtao
2025-11-18 17:48:20 +08:00
commit 6e56cab848
196 changed files with 65809 additions and 0 deletions

174
pkg/cache/RedisSingleton.go vendored Normal file
View File

@ -0,0 +1,174 @@
package cache
import (
"sync"
redis "github.com/redis/go-redis/v9"
)
// 公共redis单例
var commonInstance *singleton
var commonOnce sync.Once
func CommonClient() *redis.Client {
return GetCommonRedisInstance().RedisClient
}
// 获取公用redis连接
func GetCommonRedisInstance() *singleton {
commonOnce.Do(func() {
commonInstance = &singleton{}
commonInstance.RedisClient = createCommonmRedisClient()
})
return commonInstance
}
// 用户redis单例
var userInstance *singleton
var userOnce sync.Once
func UserClient() *redis.Client {
return GetUserRedisInstance().RedisClient
}
// 获取公用redis连接
func GetUserRedisInstance() *singleton {
userOnce.Do(func() {
userInstance = &singleton{}
userInstance.RedisClient = createUserRedisClient()
})
return userInstance
}
// 用户关系redis单例
var relationInstance *singleton
var relationOnce sync.Once
// 获取relation redis连接
func GetUserRelationRedisInstance() *singleton {
relationOnce.Do(func() {
relationInstance = &singleton{}
relationInstance.RedisClient = createUserRelationRedisClient()
})
return relationInstance
}
// 动态redis单例
var timelineInstance *singleton
var timelineOnce sync.Once
// 获取动态redis连接
func GetTimelineRedisInstance() *singleton {
timelineOnce.Do(func() {
timelineInstance = &singleton{}
timelineInstance.RedisClient = createTimelineRedisClient()
})
return timelineInstance
}
// 活动redis单例
var activityInstance *singleton
var activityOnce sync.Once
func ActivityClient() *redis.Client {
return GetActivityRedisInstance().RedisClient
}
// 获取活动redis连接
func GetActivityRedisInstance() *singleton {
activityOnce.Do(func() {
activityInstance = &singleton{}
activityInstance.RedisClient = createActivityRedisClient()
})
return activityInstance
}
// 公会redis单例
var guildInstance *singleton
var guildOnce sync.Once
func GuildClient() *redis.Client {
return GetGuildRedisInstance().RedisClient
}
// 获取公会redis连接
func GetGuildRedisInstance() *singleton {
guildOnce.Do(func() {
guildInstance = &singleton{}
guildInstance.RedisClient = createGuildRedisClient()
})
return guildInstance
}
// 聊天室redis单例
var chatroomInstance *singleton
var chatroomOnce sync.Once
func RoomClient() *redis.Client {
return GetChatroomRedisInstance().RedisClient
}
// 获取chatroom redis连接
func GetChatroomRedisInstance() *singleton {
chatroomOnce.Do(func() {
chatroomInstance = &singleton{}
chatroomInstance.RedisClient = createChatroomRedisClient()
})
return chatroomInstance
}
// SESSION redis单例
var sessionInstance *singleton
var sessionOnce sync.Once
// 获取Session redis连接
func GetSessionRedisInstance() *singleton {
sessionOnce.Do(func() {
sessionInstance = &singleton{}
sessionInstance.RedisClient = createSessionRedisClient()
})
return sessionInstance
}
// 技能订单redis单例
var skillInstance *singleton
var skillOnce sync.Once
// 获取用户关系redis连接
func GetSkillRedisInstance() *singleton {
skillOnce.Do(func() {
skillInstance = &singleton{}
skillInstance.RedisClient = createSkillRedisClient()
})
return skillInstance
}
// 活动redis单例
var imInstance *singleton
var imOnce sync.Once
// 获取用户关系redis连接
func GetIMRedisInstance() *singleton {
imOnce.Do(func() {
imInstance = &singleton{}
imInstance.RedisClient = createIMRedisClient()
})
return imInstance
}
// Cms系统 redis单例
var cmsInstance *singleton
var cmsOnce sync.Once
func CmsClient() *redis.Client {
return GetCmsRedisInstance().RedisClient
}
// 获取公用redis连接
func GetCmsRedisInstance() *singleton {
cmsOnce.Do(func() {
cmsInstance = &singleton{}
cmsInstance.RedisClient = createCmsRedisClient()
})
return cmsInstance
}