[GO]go使用etcd


package main

import (
    "go.etcd.io/etcd/clientv3"  //筆者在使用clientv3的時間曾經使用過github.com/coreos/etcd/clientv3這個包,但是會報錯,改成這個包就沒有問題
    "time"
    "context"
    "fmt"
)

func main() {
    cli, err := clientv3.New(clientv3.Config{
        Endpoints:[]string{"localhost:2379", "localhost:22379", "localhost:32379"},
        DialTimeout:5*time.Second,
    })
    if err != nil {
        //
    }
    defer cli.Close()

    ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second)
    _, err = cli.Put(ctx, "/logagent/conf/", "bbb")
    cancel()
    if err != nil {
        fmt.Println("err:", err)
    }

    ctx, cancel = context.WithTimeout(context.Background(), 2*time.Second)
    resp, err := cli.Get(ctx, "/logagent/conf/")
    cancel()
    if err != nil {
        fmt.Println("get failed, err:", err)
        return
    }
    for _, ev := range resp.Kvs{
        fmt.Printf("%s:%s\n", ev.Key, ev.Value)
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM