cur*_*boy 12 ruby timeout redis
我的应用程序中不断出现Redis :: Timeout错误(在UI和后台作业中).我正在为Redis使用AWS ElastiCache服务.
这就是我创建Redis连接的方式.在我的config/application.rb中,我有:
$redis = Redis.new(host: REDIS_HOST, port: REDIS_PORT, db: REDIS_DB)
Run Code Online (Sandbox Code Playgroud)
如何避免出现超时错误?我使用默认连接设置如下:
> $redis.client.options[:reconnect_attempts]
=> 1
> $redis.client.options[:timeout]
=> 5.0
> $redis.client.options[:tcp_keepalive]
=> 0
> $redis.client.options[:inherit_socket]
=> false
Run Code Online (Sandbox Code Playgroud)
您应该在连接池 Gem的帮助下集中您的 Redis 连接,并在问题仍然存在时增加超时值:
ConnectionPool.new(size: 5, timeout: 3) {Redis.new({:host => 'localhost', :port => 6379, :db => 1, :timeout => 240})}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1131 次 |
| 最近记录: |