本地配置
-
redis,本地开启5个服务:
lin@linspc:~$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 11221c931ae9 redis "docker-entrypoint.s…" 14 hours ago Up 3 seconds 0.0.0.0:6384->6379/tcp redis-5 d362702dcb39 redis "docker-entrypoint.s…" 14 hours ago Up 4 seconds 0.0.0.0:6383->6379/tcp redis-4 cab48e6bff40 redis "docker-entrypoint.s…" 14 hours ago Up 5 seconds 0.0.0.0:6382->6379/tcp redis-3 a7e845dfd1e7 redis "docker-entrypoint.s…" 14 hours ago Up 6 seconds 0.0.0.0:6381->6379/tcp redis-2 f1c536fff117 redis "docker-entrypoint.s…" 14 hours ago Up 7 seconds 0.0.0.0:6380->6379/tcp redis-1
-
配置,json文件
{ "redis": [ { "network": "tcp", "address": "127.0.0.1:6380" }, { "network": "tcp", "address": "127.0.0.1:6381" }, { "network": "tcp", "address": "127.0.0.1:6382" }, { "network": "tcp", "address": "127.0.0.1:6383" }, { "network": "tcp", "address": "127.0.0.1:6384" } ] }
-
g/cfg.go文件,读写json配置
package g import ( "encoding/json" "io/ioutil" "log" "os" "sync" ) type RedisNode struct { Network string `json:"network"` Address string `json:"address"` } type GlobalConfig struct { Redis *[]RedisNode `json:"redis"` } var ( ConfigFile string config *GlobalConfig lock = new(sync.RWMutex) ) func Config() *GlobalConfig { lock.RLock() defer lock.RUnlock() return config } func IsExist(fp string) bool { _, err := os.Stat(fp) return err == nil || os.IsExist(err) } func ParseC