gpt4 book ai didi

java - CouchbaseClient VS CouchbaseCluster

转载 作者:行者123 更新时间:2023-12-01 11:21:37 24 4
gpt4 key购买 nike

我正在尝试在我的应用程序中实现 couchbase。

我很困惑

com.couchbase.client.CouchbaseClient

com.couchbase.client.java.CouchbaseCluster

我尝试在 google 上搜索 CouchbaseClient 与 CouchbaseCluster,但没有找到哪一个更好以及优缺点。

我知道我们有 3 种类型的 Couchbase 客户端,一种是 vBucket-aware,一种是传统的旧客户端,支持通过 Moxi-Server 自动集群。

已经使用过 couchbase 的人可以给我提供一些关于这两个 Java 客户端的链接或详细信息吗?

我已经在 CouchbaseClient 和 CouchbaseCluster 上做了一些功课,例如通过两者插入、更新、删除文档。在 CouchbaseClient 中,存储的文档是序列化的,您无法通过 Couchbase 管理控制台查看和编辑这些文档,而通过 Couchbase 集群存储的 StringDocument、JsonDocument、JsonArrayDocument 等文档可以通过 Couchbase 管理控制台查看和编辑。

我的要求是我想使用一个可自动配置(vBucket-aware)的couchbase客户端,就像我向集群添加新节点一样,它会自动检测它,或者如果任何节点失败,它会自动检测它并执行不抛出任何异常。此外,如果我添加新的集群,我希望它能够自动检测并开始使用它。我不想修改所有这些事情的应用程序代码。

最佳答案

现在有两代官方 Couchbase Java SDK:

  • 第 1 代(当前为 1.4.x,不确定补丁版本)源自旧的 Memcached 客户端 Spymemcached...现在仅修复错误,您可以将 CouchbaseClient 作为主要 API。
  • 第 2 代是重写,分层为 Maven 中的core 工件和java-client 工件。当前版本是2.1.3。这是您处理 CouchbaseCluster 的地方。

在旧版本中,您必须为您处理的每个存储桶实例化一个 CouchbaseClient

在新一代中,集群和存储桶的概念是一等公民,您可以(并且应该)重用相同的Cluster实例来打开对不同Bucket的引用s。 Bucket 也应该重复使用(不要多次打开同一个存储桶)。通过这种方式可以更好地共享资源。

此外,新一代具有更一致的 API,使用 RxJava 进行异步处理等...它具有集群感知能力,并且会获取集群拓扑的更新(新节点、失败的节点)节点等...)。

请注意,这两代是 Maven 中的不同工件(旧的为 couchbase-client,而新的为 java-client)。

如果你“添加新集群”,你就不可能收到这样的通知,但这个操作对我来说没有任何意义......

关于java - CouchbaseClient VS CouchbaseCluster,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31160961/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com