Rack上的Redis连接管理

时间:2014-01-09 17:24:24

标签: ruby redis rack

如果我使用的是ActiveRecord,我必须使用这个中间件:

use ActiveRecord::ConnectionAdapters::ConnectionManagement

这将在每次请求后关闭连接。

我想知道如果我想使用Ruby的官方Redis gem那么我必须使用类似的东西吗?

或者是否关闭连接/管理它?

由于

1 个答案:

答案 0 :(得分:0)

每次请求后, 都没有关闭连接。实际上,常见的方法是为每个应用程序服务器(例如,每个独角兽工作者)建立一个全局 Redis连接,所有请求都将使用这些连接并保持打开但空闲。 Redis处理这个,所以你没必要。

只要您的应用服务器正在运行,此连接仍会保持打开状态,但由于Redis使用非阻塞IO,因此该连接处于非阻塞状态,因此不会对任何内容产生负面影响。

我想不出开放的好理由。关闭每个请求的连接。实际上,这只会增加不必要的开销(每次都必须创建和拆除套接字)。

这里有一个相关的讨论:https://groups.google.com/forum/#!topic/redis-db/xcz5MXykXdk