go语言操作etcd

首先在后台启动etcd

写一段go代码

go 复制代码
package main

import (
	"context"
	"fmt"
	clientv3 "go.etcd.io/etcd/client/v3"
	"time"
)

func main() {
	// 创建客户端,连接etcd
	cli, err := clientv3.New(clientv3.Config{
		Endpoints:   []string{"127.0.0.1:2379"},
		DialTimeout: 5 * time.Second,
	})
	if err != nil {
		fmt.Printf("connect to etcd failed, err:%v\n", err)
		return
	}
	fmt.Println("connect to etcd success")
	defer cli.Close()
	str := `[{"path":"d:/logs/s4.logs","topic":"s4_logs"},{"path":"d:/logs/web.logs","topic":"web_logs"}`
	// put操作
	_, err = cli.Put(context.TODO(), "collect_log_conf", str)
	if err != nil {
		fmt.Printf("put to etcd failed, err:%v\n", err)
		return
	}
	 get操作
	resp, err := cli.Get(context.TODO(), "collect_log_conf") // 获取指定Key的值
	if err != nil {
		fmt.Printf("get to etcd failed")
		return
	}
	for _, ev := range resp.Kvs {
		fmt.Printf("key:%s,value:%s\n", ev.Key, ev.Value)
	}
	 delete 删除key
	//if _,err = cli.Delete(context.TODO(), "testetcd");err != nil{
	//	fmt.Println("delete key failed")
	//}else{
	//	fmt.Println("delete key success")
	//}
}

也可以直接使用ectdctl工具查看key

go 复制代码
etcdctl.exe --endpoints=127.0.0.1:2379 get collect_log_conf
相关推荐
Aaswk1 小时前
Java Lambda 表达式与流处理
java·开发语言·python
万邦科技Lafite1 小时前
京东item_get接口实战案例:实时商品价格监控全流程解析
java·开发语言·数据库·python·开放api·淘宝开放平台
Cyber4K2 小时前
【Python专项】进阶语法-系统资源监控与数据采集(1)
开发语言·python·php
Le_ee3 小时前
ctfweb:php/php短标签/.haccess+图片马/XXE
开发语言·前端·php
yong99903 小时前
MATLAB读取高光谱图像
开发语言·matlab
2zcode3 小时前
基于MATLAB的肝病风险评估与分期分析系统设计与实现
开发语言·matlab
小小de风呀4 小时前
de风——【从零开始学C++】(五):内存管理
开发语言·c++
ooseabiscuit4 小时前
Laravel6.x核心优化与特性全解析
android·开发语言·javascript
折哥的程序人生 · 物流技术专研4 小时前
Java面试85题图解版(一):基础核心篇
java·开发语言·后端·面试
Hello.Reader4 小时前
算法基础(十)——分治思想把大问题拆成小问题
java·开发语言·算法