go任务调度8(op取代get,put,delete方法)

package main

import (
    "go.etcd.io/etcd/clientv3"
    "time"
    "fmt"
    "context"
)

func main() {
    var (
        config clientv3.Config
        client *clientv3.Client
        err error
        kv clientv3.KV
        putOp clientv3.Op
        getOp clientv3.Op
        opResp clientv3.OpResponse
    )

    // 客户端配置
    config = clientv3.Config{
        Endpoints: []string{"0.0.0.0:2379"},
        DialTimeout: 5 * time.Second,
    }

    // 建立连接
    if client, err = clientv3.New(config); err != nil {
        fmt.Println(err)
        return
    }

    kv = clientv3.NewKV(client)

    // 创建Op: operation
    putOp = clientv3.OpPut("/cron/jobs/job8", "123123123")

    // 执行OP
    if opResp, err = kv.Do(context.TODO(), putOp); err != nil {
        fmt.Println(err)
        return
    }

    // kv.Do(op)

    // kv.Put
    // kv.Get
    // kv.Delete

    fmt.Println("写入Revision:", opResp.Put().Header.Revision)

    // 创建Op
    getOp = clientv3.OpGet("/cron/jobs/job8")

    // 执行OP
    if opResp, err = kv.Do(context.TODO(), getOp); err != nil {
        fmt.Println(err)
        return
    }

    // 打印
    fmt.Println("数据Revision:", opResp.Get().Kvs[0].ModRevision) // create rev == mod rev
    fmt.Println("数据value:", string(opResp.Get().Kvs[0].Value))
}

执行:

[root@bogon etcd]# go run demo9.go
写入Revision: 42
数据Revision: 42
数据value: 123123123

猜你喜欢

转载自blog.51cto.com/5660061/2382017
今日推荐