38 lines
813 B
Go
38 lines
813 B
Go
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))
|
|
}
|
|
}
|