连接到未命名为 'default' 的存储桶名称

Connect to bucket name that named not 'default'

我有一个 Couchbase 服务器和一个 .Net 客户端。当我将存储桶命名为 "default" 时,一切都运行正常,但是当我使用另一个名称(如 'cashdb' 创建存储桶时,我的客户端出现错误 "Null Pointer Exception"。

我真的不知道如果你想在不同名称的服务器上有 3 个桶,你能做什么?

我无法回答有关 .Net 驱动器的部分,但我可以解决多个存储桶的问题。

你可以有多个桶,但要知道你为什么这样做。 IMO,逻辑组织不一定是一个很好的理由。更多的桶意味着更多的资源被使用。我可以给你一个很好的例子,说明你何时将数据拆分到单独的桶、视图中。如果您的视图只查看您拥有的数据的一个子集,而永远不会查看数据的其他部分,那么将它拆分出来可能是有意义的。假设您有一些 JSON 文档占数据的 30%,而一堆键值对占数据的 70%。更有可能的是,您只会对 JSON 文档进行查看,如果这些文档足够多且大小足够大,它可以提供更快的视图创建、维护、集群重新平衡等

另一个原因是如果您有多个应用程序访问同一个集群。这也是一个很好的理由。

无论如何,有多个存储桶很好,只需阅读并理解其中的含义并有策略地进行。

当您有多个存储桶(甚至是一个未命名的存储桶 'default')时,您必须在创建连接时明确指定要打开哪个存储桶。

在 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