course/etcd/main.go

38 lines
813 B
Go
Raw Permalink Normal View History

2024-08-30 01:09:34 +08:00
package main
import (
"context"
"fmt"
"go.etcd.io/etcd/client/v3"
"time"
)
func main() {
cli, err := clientv3.New(clientv3.Config{
Endpoints: []string{"43.143.245.135:2379"},
DialTimeout: 5 * time.Second,
})
if err != nil {
//handle error!
fmt.Println("connect etcd server failed,error:", err)
}
defer cli.Close()
//put
ctx, cancel := context.WithTimeout(context.Background(), time.Second)
_, err = cli.Put(ctx, "wangao", "freedom")
cancel()
if err != nil {
fmt.Println("put to etcd failed,error:", err)
}
//get
ctx, cancel = context.WithTimeout(context.Background(), time.Second)
resp, err := cli.Get(ctx, "wangao")
cancel()
if err != nil {
fmt.Println("get from etcd failed,error:", err)
}
for _, ev := range resp.Kvs {
fmt.Println(string(ev.Key), string(ev.Value))
}
}