我从 python
中的 rethinkdb
开始,看看不同的方法:
- 线程阻塞方法
- 使用
Tornado
的非阻塞、基于回调的方法> - 使用
gevent
的基于 Greenlet 的方法>
在第一种情况下,自然要做的是给每个线程一个connection
对象。然而,在第二和第三种情况下,我不太明白。
对于 tornado 和 gevent,我应该如何以及何时创建连接?我应该带多少个?
最佳答案
如果您使用的是非阻塞库,则在 RethinkDB 2.0 中一个连接就足够了(在 2.0 之前,每个连接的并行度较低)。不过,每个连接的开销非常低。有些人每次查询都打开一个连接,即使这样也不会太慢,所以您应该做最简单的事情。
编辑:这个建议现在已经过时了。对于较新版本的 RethinkDB,强烈建议每个查询使用一个连接。每个线程一个连接仍然没问题。
关于python - RethinkDB:有多少连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723704/