【问题标题】:Close Couchbase connection once entries have been saved保存条目后关闭 Couchbase 连接
【发布时间】:2013-05-13 13:12:22
【问题描述】:

我使用 Faker 将一些虚拟数据插入到 Couchbase 数据库中。在我看来,我需要在插入操作完成时关闭连接,因为现在当它插入所有条目时,应用程序一直处于活动状态,不会让我返回控制台。 如何管理?

【问题讨论】:

    标签: node.js couchbase faker


    【解决方案1】:

    要关闭与存储桶的连接,您可以使用bucket.shutdown() 函数。请参见下面的示例:

    couchbase.connect(config, function(err, bucket) {
      ... // do some work
      bucket.shutdown(); // shutdown connection on work done
    });
    

    在 github 上链接到 test 以获取此功能。

    【讨论】:

    【解决方案2】:

    这是使用 disconnect() 的 Node Couchbase SDK 2.x 版本的更新示例 sn-p。想法是,当您完成连接上的所有操作后,将其关闭:

    var bucket = myCluster.openBucket(bucketName, function (err) {
        if (err) {/*handle error*/}
        bucket.get(someId, function (err, res) {
            bucket.disconnect();
            //do stuff with results
        });
    });
    

    【讨论】:

      【解决方案3】:

      一种方法是:

      process.exit();
      

      这可以让你摆脱这个过程。

      我不具体了解 couchbase 模块。

      【讨论】:

      • Couchbase Node SDK 打开它自己的回调并保持打开状态。这是因为客户端需要与集群(多个节点)建立开放连接来获取/设置数据,而且还需要在集群拓扑发生变化时收到警报。正如之前所说,您可以使用 shutdown() 调用关闭连接,或者像 Adam 解释的那样简单地调用 process.exit()。这是在 Couchbase Node SDK 测试套件中完成的:github.com/couchbase/couchnode/blob/master/tests/setup.js#L53
      猜你喜欢
      • 2013-04-30
      • 2020-03-27
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 1970-01-01
      相关资源
      最近更新 更多