对redis增加异步协程数配置

This commit is contained in:
boyce
2019-05-17 18:21:06 +08:00
parent 67d3eec964
commit dc2475e1f2

View File

@@ -45,18 +45,20 @@ type RedisModule struct {
// ConfigRedis 服务器配置 // ConfigRedis 服务器配置
type ConfigRedis struct { type ConfigRedis struct {
IP string IP string
Port string Port string
Password string Password string
DbIndex int DbIndex int
MaxIdle int //最大的空闲连接数表示即使没有redis连接时依然可以保持N个空闲的连接而不被清除随时处于待命状态。 MaxIdle int //最大的空闲连接数表示即使没有redis连接时依然可以保持N个空闲的连接而不被清除随时处于待命状态。
MaxActive int //最大的激活连接数表示同时最多有N个连接 MaxActive int //最大的激活连接数表示同时最多有N个连接
IdleTimeout int //最大的空闲连接等待时间,超过此时间后,空闲连接将被关闭 IdleTimeout int //最大的空闲连接等待时间,超过此时间后,空闲连接将被关闭
SyncRouterNum int //异步执行Router数量
} }
func (slf *RedisModule) Init(redisCfg *ConfigRedis) { func (slf *RedisModule) Init(redisCfg *ConfigRedis) {
redisServer := redisCfg.IP + ":" + redisCfg.Port redisServer := redisCfg.IP + ":" + redisCfg.Port
slf.redispool = &redis.Pool{ slf.redispool = &redis.Pool{
Wait: true,
MaxIdle: redisCfg.MaxIdle, MaxIdle: redisCfg.MaxIdle,
MaxActive: redisCfg.MaxActive, MaxActive: redisCfg.MaxActive,
IdleTimeout: time.Duration(redisCfg.IdleTimeout) * time.Second, IdleTimeout: time.Duration(redisCfg.IdleTimeout) * time.Second,
@@ -89,7 +91,10 @@ func (slf *RedisModule) Init(redisCfg *ConfigRedis) {
} }
slf.redisTask = make(chan Func, MAX_TASK_CHANNEL) slf.redisTask = make(chan Func, MAX_TASK_CHANNEL)
go slf.RunAnsyTask() for i := 0; i < redisCfg.SyncRouterNum; i++ {
go slf.RunAnsyTask()
}
} }
func (slf *RedisModule) RunAnsyTask() { func (slf *RedisModule) RunAnsyTask() {