레일즈 앱에서 자동 완성을 위해 soulmate 보석을 사용하고 있으며 발생하는 큰 문제는 클라이언트에서 Redis 서버까지의 쿼리 대기 시간입니다.레일즈 : 여러 유형의 soulmate gem 파이프 라이닝
보석 코드에서 빠른보기는 당신이 볼 수 있듯이, Soulmate::Matcher
의 새로운 인스턴스가 각각 type
(즉, "위치", "사용자", "장소"등 생성됩니다
# in lib/soulmate/server.rb#search
types.each do |type|
matcher = Matcher.new(type)
results[type] = matcher.matches_for_term(term, :limit => limit)
end
보여줍니다 .) matches_for_term
메서드를 사용하여 Redis 서버에 쿼리합니다. 즉, 한 번에 3 가지 유형을 쿼리하려면 6 개의 핸드 셰이크가있게됩니다. 을 생성시 복수 type
초를 허용하고 파이프 라인 쿼리를 통해 redis 서버에 쿼리하려고합니다. 코드 변경/재정의는 어떻게해야합니까? 내가 전체 보석을 다시 써야 할 것처럼 보입니다.