Gocb超时进入Golang

时间:2018-07-25 14:40:13

标签: go gocb

我正在尝试使用gocb进行golang的Get。该代码如下所示:

url := fmt.Sprintf("couchbase://%s", cfg.FpcCouchbase.Hosts)
if cfg.FpcCouchbase.cluster, err = gocb.Connect(url); err != nil {
    return errors.Wrap(err, "connect to CB")
}

//timeout, _ := time.ParseDuration("1m")
//cfg.FpcCouchbase.cluster.SetConnectTimeout(timeout)
//cfg.FpcCouchbase.cluster.SetServerConnectTimeout(timeout)

if cfg.FpcCouchbase.bucket, err = cfg.FpcCouchbase.cluster.OpenBucket(cfg.FpcCouchbase.Bucket, cfg.FpcCouchbase.Password); err != nil {
    return errors.Wrap(err, "open CB bucket")
}

//cfg.FpcCouchbase.bucket.SetOperationTimeout(timeout)

var tmp interface{}

if _, err = config.FpcCouchbase.bucket.Get(key, &tmp); err != nil {
    return errors.Wrap(err, "error reading from couchbase")
}

问题是它连接没有错误,打开了存储桶,但是调用Get时,无论我手动设置超时多长时间,它都会超时。有什么想法吗?谢谢!

LE:我自己找到了答案,因此我与您分享。 Gocb sdk使用端口11210连接Couchbase。发出请求之前,需要先打开它们。我以前使用的是8091和8092。

0 个答案:

没有答案