首页 > 其他分享 >go-zero开发入门-初始化cache.ClusterConf示例

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

时间:2024-01-26 10:24:22浏览次数:20  
标签:Host 示例 cache redis json zero ClusterConf RedisConf

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)
}

标签:Host,示例,cache,redis,json,zero,ClusterConf,RedisConf
From: https://www.cnblogs.com/aquester/p/17988747

相关文章

  • Vue 3高级响应式数据探秘:原理、用法详解与实战示例!
     在Vue3中,数据的变化通过响应式系统来实现,该系统基于ES6的Proxy对象。Proxy对象允许拦截并自定义操作,因此Vue可以通过代理对象来实现对数据的监听和触发相应的操作。以下是Vue3中监测数据改变的原理、使用方法和步骤的详细描述,以及一个实例代码:原理:Vue3的响应式系统基于P......
  • Golang gRPC概述及入门示例
    1、概述1.1什么是gRPCRPC的全称是RemoteProcedureCall,远程过程调用。RPC是一种协议,它实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。而gRPC又是什么呢?用官方的话来说:A......
  • go-zero配置DB的redis缓存
    配置定义:#catinternal/config/config.gopackageconfigimport( "github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/core/stores/cache")typeConfigstruct{ rest.RestConf CacheRediscache.CacheConf}对应的配置文件:#cat......
  • Stream流操作示例
    1privatestaticdoubleoneMoney;2privatestaticdoubletwoMoney;3privatestaticdoublesumMoney;45publicstaticvoidmain(String[]args){6List<Employee>list1=newArrayList<>();7list1.add(new......
  • 无法加载响应数据:request content was evicted from inspector cache
    这个错误通常是由于请求返回的内容太大而导致的。浏览器的开发者工具(Inspector)有一个缓存限制,如果请求的内容超过了这个限制,就会出现这个错误。解决这个问题的方法有几种:减小请求的内容大小:可以通过压缩请求的内容或者减少不必要的数据来减小请求的大小。增加缓存限制:可以......
  • rust使用lazy_static对全局变量多线程并发读写示例
    首先需要在项目依赖Cargo.toml添加lazy_static依赖项[dependencies]lazy_static="1.4.0"示例代码如下:uselazy_static::lazy_static;usestd::sync::{RwLock,RwLockReadGuard,RwLockWriteGuard};usestd::thread;#[derive(Debug)]structSharedData{data:Vec<......
  • Python requests模块POST提交请求,不同Content-type对应的参数示例
    1.'content-type':'application/x-www-form-urlencoded'data参数提交文本或字典都可以headers为空时,data提交content-type默认也是application/x-www-form-urlencodedrequests.post(url,headers={'content-type':'application/x-www-form-urlencoded'}......
  • 用C++11打造智能观察者模式:详解实现步骤完整示例代码
     观察者模式是一种行为设计模式,其中一个对象(主题)维护其依赖对象(观察者)的列表,当主题的状态发生变化时,它通知所有观察者。以下是一个使用C++11实现观察者模式的简单例子:定义观察者接口(Observer): 创建一个观察者接口,该接口包含观察者需要实现的更新方法。这个接口可以包含其他......
  • std::function类的使用示例
    std::function是C++标准库中的一个模板类,用于封装可调用的目标,比如函数、函数指针、成员函数指针、Lambda表达式等,使得它们可以像普通函数一样被调用。这种灵活性使得std::function在许多场景下都非常有用。以下是std::function的一般用法:1.封装函数指针1.1不带参数和返回值......
  • 华为三层交换机与路由器配置上网示例——学会这个,你就是IT界大佬
    特性配置案例适用的产品和版本说明本手册适用于通过命令行配置的框式交换机和盒式交换机(S300、S500、S2700、S3700、S5700、S6700、S7700、S7900、S9700共用一套)的多个版本,每个案例所支持的产品和版本不同,每个案例适用产品和版本请参看具体页面中的“配置注意事项”。若无特殊说明,......