我正在用C ++编写一个小应用程序,需要连接到Couchbase集群并从普通的Couchbase存储桶和Memcached存储桶读取数据。我可以毫无问题地连接和读/写数据。但是,当我尝试创建couchbase类的两个实例并将其中一个实例连接到Couchbase存储桶并将第二个实例连接到Memcached存储桶时,我总是最终将两个实例指向我最后连接的实例。所以在下面的代码中,它将是Memcached存储桶。
couchbase cb
couchbase cache
cb.connect(hosts, bucket)
cache.connect(hosts, bucketCache)
couchbase类是我创建的类,用于根据C API文档中的文档封装所有基本的Couchbase功能。
正如我所说,如果我只连接其中一个存储桶,我可以在任一存储桶中查询文档。但是,只要我同时连接到两者,我就只能连接到最后一个。
感谢任何帮助。
答案 0 :(得分:1)
我只需将lcb_t instance
从cpp文件的头部移动到类头文件的私有部分即可找到答案。所以它最终与Couchbase无关,而是C ++。