GO操作etcd

发布时间 2023-08-01 14:00:40作者: zzz1an
PUT和SET
package main

import (
"fmt"
"go.etcd.io/etcd/Godeps/_workspace/src/golang.org/x/net/context"
"go.etcd.io/etcd/clientv3"
"time"
)

func main() {
cli, err := clientv3.New(clientv3.Config{
Endpoints: []string{"127.0.0.1:2379"},
DialTimeout: time.Second * 5,
})
if err != nil {
fmt.Printf("connect to faild,err:%v", err)
return
}
defer cli.Close()

ctx, cancel := context.WithTimeout(context.Background(), time.Second)
_, err = cli.Put(ctx, "zl", "最牛")
if err != nil {
fmt.Printf("put key faild,err:%v", err)
return
}
cancel()

ctx, cancel = context.WithTimeout(context.Background(), time.Second)
goKey, err := cli.Get(ctx, "zl")
if err != nil {
fmt.Printf("get key faild,err:%v", err)
return
}

for _, ev := range goKey.Kvs {
fmt.Printf("key:%s,value:%s\n", ev.Key, ev.Value)
}

cancel()
}

使用ETCDCTL.exe操作的话,在操作前先设置环境变量
SET ETCDCTL_API=3