Rails应用程序中的Redis:TimeoutError



我的应用程序中(在UI和后台作业中)不断出现Redis:Timeout错误。我正在为Redis使用AWS ElastiCache服务。

这就是我创建Redis连接的方式。在我的config/application.rb中,我有:

$redis = Redis.new(host: REDIS_HOST, port: REDIS_PORT, db: REDIS_DB)

如何避免出现超时错误?我使用的默认连接设置如下:

> $redis.client.options[:reconnect_attempts]
 => 1 
> $redis.client.options[:timeout]
 => 5.0 
> $redis.client.options[:tcp_keepalive]
 => 0 
> $redis.client.options[:inherit_socket]
 => false

如果问题仍然存在,您应该在Connection pool Gem的帮助下对Redis连接进行池化,并增加超时值:

ConnectionPool.new(size: 5, timeout: 3) {Redis.new({:host => 'localhost', :port => 6379, :db => 1, :timeout => 240})}

Redis宝石

相关内容

  • 没有找到相关文章

最新更新