如何在 RethinkDB 中强制关闭打开的连接?

How can I force close open connections in RethinkDB?

我与 RethinkDB 的开放连接有问题。如果我的 Sinatra 后端应用程序方法出现错误,与 Rethink 的连接不会关闭。因此打开的连接数慢慢增加。

这导致打开的连接太多,导致错误:

Error: the RethinkDB database is not available

所以问题是双重的:首先是现在帮助我;如何关闭打开的 Rethink 连接? 其次,如何避免建立开放连接?我应该为每次调用我的后端打开一个连接,还是应该在我的应用程序启动时打开一次与 Rethink 的连接?

Rethink 看起来很有希望,但如果能提供一点帮助,我们将不胜感激!

您可以通过对 connect 返回的连接对象调用 .close 来关闭连接。只要您在完成后关闭这些连接,就可以在每次调用后端时打开一个连接。 (一般RethinkDB可以同时支持很多打开的连接,除非它是运行在低资源系统上或者OS被配置为限制打开连接的数量。)

我认为现在 RethinkDB 中没有办法做到这一点。我开了一个 GitHub 问题: github.com/rethinkdb/rethinkdb/issues/4873 。同时,一种选择是使用 tcpkill(或类似的东西)终止连接。