REDIS.hmget
을 사용하는 문자열 묶음과 일치합니다. 풀 스토어에는 약 140,000 개의 키가 있습니다. 나는 1k 미만의 문자열에서 백엔드와의 매칭을 보았지만, 매칭 타임이 끝나기 전에이 특별한 경우를 보게되었다. 나는 다음과 충돌 추적을 얻을 :Redis hmget timeout
Errno::ETIMEDOUT: Connection timed out
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/connection/ruby.rb:58:in `write'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/connection/ruby.rb:58:in `write'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:139:in `process'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:138:in `each'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:138:in `process'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:250:in `ensure_connected'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:137:in `process'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:206:in `logging'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:136:in `process'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis/client.rb:46:in `call'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis.rb:755:in `hmget'
/usr/ruby1.8.7/lib/ruby/1.8/monitor.rb:242:in `synchronize'
.bundle/gems/ruby/1.8/gems/redis-2.2.2/lib/redis.rb:754:in `hmget'
가 밖으로, hmget는 여전히 2 2.3k 문자열 사이에 다양하게 보인다, 지금까지 일치하는 것을 리턴 번 있지만. 앞에서 말했듯이 1 초 만에 1k 문자열에 대한 백엔드 일치를 보았 기 때문에 몇 초 후에 만 시간을 초과하지 않는 한 2.3k 문자열로 Redis 시간 초과가 발생한다고 생각하기가 어렵습니다.
여기에 누락 될 수있는 것이 있습니까? 경기를 2 개의 작은 경기로 나눠야하나요? 기본 타임 아웃 간격을 변경하는 방법이 있습니까?
나는'keys'가 문자열 배열임을 확인합니다. 또한, 그것이 문제라면, 그것은 재현 가능할 것입니다. 반면 지금은 1-2k 개의 키가있을 때 임의로 타임 아웃됩니다. – samvermette