我有一个Couchbase服务器和一个.Net客户端。当我将存储桶命名为“默认”时,每个东西都运行正常,但是当我创建一个名为'cashdb'的另一个名称的存储桶时,我的客户端出现错误“Null Pointer Exception”。
我真的不知道你是否想在名字不同的服务器上拥有3个存储桶,你能做什么?
答案 0 :(得分:0)
我无法回答有关.Net驱动器的部分,但我可以解决多个存储桶问题。
你可以有多个存储桶,但知道你为什么要这样做。一个合乎逻辑的组织并不一定是一个很好的理由,IMO。更多存储桶意味着使用更多资源。我可以给你一个很好的例子,你可以将数据分成不同的桶,视图。如果您的视图只查看您拥有的数据的子集,并且永远不会查看数据的其他部分,那么将其拆分可能是有意义的。假设您有一些JSON文档占您数据的30%,而一堆关键值对占70%的数据。更有可能的是,您只会对JSON文档进行观看,如果有足够的文档并且尺寸足够大,它可以提供更快的视图创建,维护,集群重新平衡等。
另一个原因是,如果您有多个应用程序访问同一个群集。这也是一个很好的理由。
无论如何,拥有多个存储桶是好的,只需阅读并理解其含义并从战略角度进行操作。
答案 1 :(得分:0)
如果您有多个存储桶(或者甚至是一个未命名为“默认”的存储桶),则必须在创建连接时明确指定要打开的存储桶。
在1.x SDK中:
var config = new CouchbaseClientConfiguration();
config.Bucket = "mybucket"
config.BucketPassword = "12345";
var connection = new CouchbaseClient(config);
在2.x SDK中它稍微长一点,所以看看这里:http://docs.couchbase.com/developer/dotnet-2.0/configuring-the-client.html