golang etcd/clientv3实现Ops联合kv操作写入

    1. 实现联合kv操作仅仅是为了将一连串的put, get, delete, txn组合,减少大量kv操作的代码量,单独写一样可以实现
    1. 联合kv操作和事务也有区别, 因为事务会对KeyValue对象添加条件, 而这里并没有.
    1. 代码中向相关注释,直接上代码

1.client初始化

package cli
var Cli *clientv3.Client

func GetCli() (err error) {
   
   
	// 1. etcd连接配置
	config := clientv3.Config{
   
   }
	config.Endpoints = []string{
   
   "huawei:3001"}
	config.DialTimeout = time.Second * 5
	config.Username = "root"
	config.Password = "123"

	// 2. 获取cted cli对象
	Cli, err = clientv3.New(config)
	if err != nil {
   
   
		log.Fatalf("init etcd cli failed! err:%v", err)
	}
	log.Infoln("init etcd cli success!")
	return
}

2.OPS实现

package op

import (
	"context"
	"fmt"
	"third/database/etcd/cli"

	log "github.com/sirupsen/logrus"
	"go.etcd.io/etcd/clientv3"
)

/*
1.创建ops对象(kv操作集),这里的定义和单独使用kv操作没区别,但这里是为了实现put,get,del,txn一个联合kv操作.
		clientv3.OpDelete()		kv.Delete
		clientv3.OpGet			kv.Get
		clientv3.OpPut			kv.Put
		clientv3.OpTxn			kv.Txn
2.获取ops中的每个op作为参数传入client.Do()方法获取opResponse,使用opResponse的方法获取对应kv操作response

*/

func Op() {
   
   
	// 初始化cli连接
	cli.GetCli()

	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值