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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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))
}

执行:

[[email protected] etcd]# go run demo9.go
写入Revision: 42
数据Revision: 42
数据value: 123123123

以上是关于go任务调度8(op取代get,put,delete方法)的主要内容,如果未能解决你的问题,请参考以下文章

解析HTTP协议六种请求方法,get,head,put,delete,post有啥区别

go常见问题

go常见问题

常见的HTTP方法有哪些?

[转]Golang号称高并发,但高并发时性能不高

python urllib2 对 http 的 get,put,post,delete