1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package initialize
- import (
- "context"
- "github.com/flipped-aurora/gin-vue-admin/server/config"
- "github.com/flipped-aurora/gin-vue-admin/server/global"
- "github.com/redis/go-redis/v9"
- "go.uber.org/zap"
- )
- func initRedisClient(redisCfg config.Redis) (redis.UniversalClient, error) {
- var client redis.UniversalClient
- // 使用集群模式
- if redisCfg.UseCluster {
- client = redis.NewClusterClient(&redis.ClusterOptions{
- Addrs: redisCfg.ClusterAddrs,
- Password: redisCfg.Password,
- })
- } else {
- // 使用单例模式
- client = redis.NewClient(&redis.Options{
- Addr: redisCfg.Addr,
- Password: redisCfg.Password,
- DB: redisCfg.DB,
- })
- }
- pong, err := client.Ping(context.Background()).Result()
- if err != nil {
- global.GVA_LOG.Error("redis connect ping failed, err:", zap.String("name", redisCfg.Name), zap.Error(err))
- return nil, err
- }
- global.GVA_LOG.Info("redis connect ping response:", zap.String("name", redisCfg.Name), zap.String("pong", pong))
- return client, nil
- }
- func Redis() {
- redisClient, err := initRedisClient(global.GVA_CONFIG.Redis)
- if err != nil {
- panic(err)
- }
- global.GVA_REDIS = redisClient
- }
- func RedisList() {
- redisMap := make(map[string]redis.UniversalClient)
- for _, redisCfg := range global.GVA_CONFIG.RedisList {
- client, err := initRedisClient(redisCfg)
- if err != nil {
- panic(err)
- }
- redisMap[redisCfg.Name] = client
- }
- global.GVA_REDISList = redisMap
- }
|