Skip to content

Commit

Permalink
Merge pull request #1694 from xue-ding-e/main
Browse files Browse the repository at this point in the history
增加redis集群设置
  • Loading branch information
pixelmaxQm authored Mar 31, 2024
2 parents 8ca5600 + 9729bc0 commit c226a94
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 10 deletions.
10 changes: 9 additions & 1 deletion server/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,17 @@ zap:

# redis configuration
redis:
db: 0
#是否使用redis集群模式
useCluster: false
#使用集群模式addr和db默认无效
addr: 127.0.0.1:6379
password: ""
db: 0
clusterAddrs:
- "172.21.0.3:7000"
- "172.21.0.4:7001"
- "172.21.0.2:7002"


# mongo configuration
mongo:
Expand Down
8 changes: 5 additions & 3 deletions server/config/redis.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
package config

type Redis struct {
Addr string `mapstructure:"addr" json:"addr" yaml:"addr"` // 服务器地址:端口
Password string `mapstructure:"password" json:"password" yaml:"password"` // 密码
DB int `mapstructure:"db" json:"db" yaml:"db"` // redis的哪个数据库
Addr string `mapstructure:"addr" json:"addr" yaml:"addr"` // 服务器地址:端口
Password string `mapstructure:"password" json:"password" yaml:"password"` // 密码
DB int `mapstructure:"db" json:"db" yaml:"db"` // 单实例模式下redis的哪个数据库
UseCluster bool `mapstructure:"useCluster" json:"useCluster" yaml:"useCluster"` // 是否使用集群模式
ClusterAddrs []string `mapstructure:"clusterAddrs" json:"clusterAddrs" yaml:"clusterAddrs"` // 集群模式下的节点地址列表
}
2 changes: 1 addition & 1 deletion server/global/global.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import (
var (
GVA_DB *gorm.DB
GVA_DBList map[string]*gorm.DB
GVA_REDIS *redis.Client
GVA_REDIS redis.UniversalClient
GVA_MONGO *qmgo.QmgoClient
GVA_CONFIG config.Server
GVA_VP *viper.Viper
Expand Down
20 changes: 15 additions & 5 deletions server/initialize/redis.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,21 @@ import (

func Redis() {
redisCfg := global.GVA_CONFIG.Redis
client := redis.NewClient(&redis.Options{
Addr: redisCfg.Addr,
Password: redisCfg.Password, // no password set
DB: redisCfg.DB, // use default DB
})
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.Error(err))
Expand Down

0 comments on commit c226a94

Please sign in to comment.