当前位置: 首页 > news >正文

网站建设树状图如何seo网站推广

网站建设树状图,如何seo网站推广,如何给网站做二维码,网站301在哪里做最近用redis shake做redis数据迁移,由于redis提供的客户端没有用于查看集群的工具,且我部署的redis集群是基于k8s来构建的,没有使用ingress做转发,所以只能在k8s内部访问集群,于是我先用gogin框架编写了访问redis集群的…

最近用redis shake做redis数据迁移,由于redis提供的客户端没有用于查看集群的工具,且我部署的redis集群是基于k8s来构建的,没有使用ingress做转发,所以只能在k8s内部访问集群,于是我先用go+gin框架编写了访问redis集群的代码,然后打成镜像,再部署到k8s中,创建一个svc类型为NodePort方便外部访问。

环境搭建完毕后,访问接口,发现连接redis集群失败,报错:

dial tcp: lookup redis-cluster-v2-0.redis-cluster-v2.redis: i/o timeout

我尝试在容器内部ping | telnet redis集群某一结点地址,发现网络是可通的,后面在代码中新增net.dail()去连接redis集群,报另一个错误:

 got 4 elements in cluster info address, expected 2 or 3

百度发现使用的go redis版本与redis的版本不一致造成的,

  • Redis 6.0及以下版本:选择Go-redis v8.0及以下版本。

  • Redis 7.0及以上版本:选择Go-redis v9.0及以上版本。

由于我部署的redis集群是7.0,但go redis使用的版本是 v8["github.com/go-redis/redis/v8"],于是修改go redis版本:

   "github.com/redis/go-redis/v9"

重新部署一遍就可以了,

go redis cluster 代码:

package clientimport ("context""github.com/BurntSushi/toml""github.com/redis/go-redis/v9""net""redis-cluster-web/log"
)type RedisClient struct {*redis.Client*redis.ClusterClient
}type Conf struct {RedisConf `toml:"redis"`
}type RedisConf struct {Addrs    []string `toml:"addrs"`Addr     string   `json:"addr"`Database int      `toml:"database"`Password string   `toml:"password"`
}var RC RedisClientfunc init() {RC.NewRedisClient()RC.NewRedisClusterClient()
}func (r *RedisClient) NewRedisClient() {conf := Conf{}_, err := toml.DecodeFile("redis.toml", &conf)if err != nil {log.Error.Println("read redis conf err:", err)return}redisAddr := conf.Addrr.Client = redis.NewClient(&redis.Options{Addr:     redisAddr,Password: conf.Password,})
}
// 我把redis配置写在.toml的配置文件中
func (r *RedisClient) NewRedisClusterClient() {conf := Conf{}_, err := toml.DecodeFile("redis.toml", &conf)if err != nil {log.Error.Println("read redis conf err:", err)return}r.ClusterClient = redis.NewClusterClient(&redis.ClusterOptions{Addrs: conf.Addrs,})// 打印集群信息info := r.ClusterClient.ClusterInfo(context.Background())// 打印集群节点信息 nodes := r.ClusterClient.ClusterNodes(context.Background())log.Info.Println(info)log.Info.Println(nodes)// dial redis节点for _, addr := range conf.Addrs {_, err = net.Dial("tcp", addr)if err != nil {log.Error.Println(err)} else {log.Info.Println("dail ", addr, " success")}}
}

http://www.ds6.com.cn/news/100637.html

相关文章:

  • 中学网站建设方案2022年可以打开的网址
  • 犀牛云做网站武汉百度开户代理
  • 遂宁市网站建设企业网站优化软件
  • 建网页还是网站好网络营销的策划方案
  • 微信网站开发 新闻网站自己推广
  • wordpress预解析宁波seo外包服务
  • 网站上面的在线咨询是怎么做的广东百度seo关键词排名
  • 虚拟主机如何搭建网站发外链比较好的平台
  • 做网站的网站百度企业号
  • 品牌战略咨询公司排名网络搜索优化
  • wordpress 微信导航信息流广告优化师
  • 计算机专业就业前景百度seo排名优化系统
  • 如何做电子商城网站北京最新疫情最新消息
  • 美食网站开发的原则情感网站seo
  • 手把手制作公司网站软件开发公司排名
  • 网站开发 跨平台开发技术百度指数有什么作用
  • 移动端网站宽度做多大网站推广的意义和方法
  • 免费模板网站下载今日国际新闻头条15条简短
  • 手机域名做网站中国谁第一家百度提问首页
  • 视频 怎么做网站推广官网
  • 如何在微信公众平台上建立微网站郑州关键词排名外包
  • 政府网站开发价格流氓网站
  • 福州网站建设要找嘉艺网络网络推广平台收费不便宜
  • wordpress怎么新建页面抖音seo怎么做的
  • 自己做网站如何赚钱网络推广外包要多少钱
  • 惠州市两学一做网站西安网页设计
  • 做业务不花钱的网站有哪些模板建站多少钱
  • 自己做网站可行吗郑州seo外包费用
  • 青园网站建设陕西优化疫情防控措施
  • 网站做法游戏app拉新平台