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
相关推荐
RedJACK~15 小时前
Go Ebiten小游戏开发:扫雷
开发语言·后端·golang
程序猿_极客16 小时前
【2025】16届蓝桥杯 Java 组全题详解(省赛真题 + 思路 + 代码)
java·开发语言·职场和发展·蓝桥杯
玉树临风江流儿16 小时前
C++左值、右值、move移动函数
开发语言·c++
Ryan ZX16 小时前
etcd 高可用分布式键值存储
数据库·分布式·etcd
研究司马懿16 小时前
【ETCD】ETCD——confd配置管理
数据库·golang·自动化·运维开发·etcd·argocd·gitops
..Cherry..16 小时前
Etcd详解(raft算法保证强一致性)
数据库·算法·etcd
拾荒的小海螺17 小时前
JAVA:Spring Boot3 新特性解析的技术指南
java·开发语言·spring boot
程序猿202317 小时前
Python每日一练---第二天:合并两个有序数组
开发语言·python
椰羊sqrt17 小时前
CVE-2025-4334 深度分析:WordPress wp-registration 插件权限提升漏洞
android·开发语言·okhttp·网络安全
Js_cold17 小时前
Verilog任务task
开发语言·fpga开发·verilog