岚天逸见

go-zero开发入门-初始化cache.ClusterConf示例

cache.ClusterConf 的定义如下:

// CacheConf is an alias of ClusterConf.
type CacheConf = ClusterConf

type (
	// A ClusterConf is the config of a redis cluster that used as cache.
	ClusterConf []NodeConf

	// A NodeConf is the config of a redis node that used as cache.
	NodeConf struct {
		redis.RedisConf
		Weight int `json:",default=100"`
	}
)

type (
	// A RedisConf is a redis config.
	RedisConf struct {
		Host     string
		Type     string `json:",default=node,options=node|cluster"`
		Pass     string `json:",optional"`
		Tls      bool   `json:",optional"`
		NonBlock bool   `json:",default=true"`
		// PingTimeout is the timeout for ping redis.
		PingTimeout time.Duration `json:",default=1s"`
	}
)

初始化示例:

cacheConf := cache.ClusterConf{
	{ // 数组
		RedisConf: redis.RedisConf{
			Host: r1.Addr,
			Type: redis.NodeType,
		},
		Weight: 100,
	},
}

配置文件示例:

CacheRedis: 
    - Host: 127.0.0.2
      port: 6379
      type: node

配置文件对应的源代码:

type Config struct {
	rest.RestConf
	CacheRedis cache.CacheConf
}

func main() {
	var c config.Config
	conf.MustLoad(*configFile, &c)
	fmt.Printf("Host: %s\n", c.CacheRedis[0].Host)
}

posted on   岚天逸见  阅读(77)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义

导航

统计信息

点击右上角即可分享
微信分享提示