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


文章标题:go任务调度8(op取代get,put,delete方法)
分享URL:http://myzitong.com/article/gcsdhc.html