【问题标题】:RethinkDB: how many connections?RethinkDB:​​有多少连接?
【发布时间】:2015-04-18 22:37:38
【问题描述】:

我从python 中的rethinkdb 开始,看看不同的方法:

  1. 线程阻塞方法
  2. 使用Tornado 的非阻塞、基于回调的方法
  3. gevent 的基于 Greenlet 的方法

在第一种情况下,很自然的做法是给每个线程一个connection 对象。然而,在第二种和第三种情况下,我不太明白。

使用 tornado 和 gevent,我应该如何以及何时创建连接?我应该有几个?

【问题讨论】:

  • gevent 必须考虑的一件事是它不适用于 python 3,我怀疑它是否会被移植。当然,有一些分叉可能会起作用,但我对未来的支持并不抱太大希望。可能这会将一个参数排除在等式之外,并使您的决定更简单一些。 :-)

标签: python tornado gevent rethinkdb


【解决方案1】:

如果您使用的是非阻塞库,则在 RethinkDB 2.0 中一个连接就足够了(在 2.0 之前,每个连接的并行度较低)。但是,每个连接的开销非常低。有些人每次查询都会打开一个连接,即使这样也不会太慢,所以你应该做最简单的事情。

编辑:这个建议现在已经过时了。对于较新版本的 RethinkDB,强烈建议不要在每个查询中使用一个连接。每个线程一个连接仍然可以。

【讨论】:

    猜你喜欢
    • 2016-02-04
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    相关资源
    最近更新 更多