// Package etcd... // // Description : 删除相关操作 // // Author : go_developer@163.com<白茶清欢> // // Date : 2021-11-24 12:42 下午 package etcd import ( "context" "errors" "time" "go.etcd.io/etcd/clientv3" ) // DeleteWithOption ... // // Author : go_developer@163.com<白茶清欢> // // Date : 2:02 下午 2021/11/24 func DeleteWithOption(ctx context.Context, key string, timeout time.Duration, optionList ...clientv3.OpOption) (*clientv3.DeleteResponse, error) { if nil == ctx { ctx = context.Background() } if timeout <= 0 { timeout = DefaultDeleteTimeout } var ( cancelFunc context.CancelFunc deleteResponse *clientv3.DeleteResponse err error ) ctx, cancelFunc = context.WithTimeout(ctx, timeout) defer cancelFunc() if deleteResponse, err = Client.Delete(ctx, key, optionList...); nil != err { return nil, errors.New("delete key fail : " + err.Error()) } return deleteResponse, nil } // DeleteWithKeyPrefix 基于 key 前缀, 删除key // // Author : go_developer@163.com<白茶清欢> // // Date : 2:12 下午 2021/11/24 func DeleteWithKeyPrefix(ctx context.Context, keyPrefix string, timeout time.Duration) (*clientv3.DeleteResponse, error) { return DeleteWithOption(ctx, keyPrefix, timeout, clientv3.WithPrefix()) }