gpt4 book ai didi

java - Couchbase Java SDK 存储桶连接管理

转载 作者:行者123 更新时间:2023-12-02 04:41:09 26 4
gpt4 key购买 nike

我知道 Couchbasecluster 对象应该在应用程序组件之间共享,因为 Couchbasecluster 应该在应用程序初始化时连接,并在应用程序关闭时断开连接。 Bucket 对象也是如此吗?

在基于 Web 的应用程序中,我应该保留对打开的 Bucket 连接的引用,并跨线程共享该引用,还是应该初始化一个新的 Bucket 对象,执行该操作,并在每次 HTTP 请求期间关闭 Bucket 对象?

最佳答案

根据 Couchbase 的 docs :

Here are some very important things to keep in mind:

Always create only one instance of a CouchbaseCluster and share it across threads (same with buckets).

The SDK is thread-safe, so no additional synchronization is needed when interacting with the SDK.

If different clusters need to be accessed, reuse the ClusterEnvironment (see Sharing Resources).

您可以惰性地创建 HashMap 中的所有存储桶对象并将其保存在一个单例中,并且您的应用程序线程可以从中选取。如果他们找不到所需的存储桶,他们可以创建一个新的存储桶并将其添加到映射中以供其他线程使用。

如果您的应用程序托管在许多服务器上,并且每个服务器都连接到同一个 couchbase 集群,请在您的应用程序未处理请求(关闭或脱离负载均衡器)时通过关闭存储桶来释放存储桶,以便连接其他应用没有被占用。

关于java - Couchbase Java SDK 存储桶连接管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30162949/

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