2012-12-28 5 views
2

Google은 몇 가지 독립적 인 기능을 위해 Redis를 사용하는 Heroku의 Ruby on Rails 앱을 보유하고 있습니다. redis-store, Resque 대기열 호스팅 및 임시 데이터 저장소를 통해 다양한 것을 캐싱합니다. 우리는 빠르게 규모를 확대하고 있으며 최근에는 RedisToGo에서 자체 EC2 호스팅 인스턴스로 전환했습니다. 그러나 우리의 기억과 연결 사용은 여전히 ​​증가하고 있습니다. Rails 앱이 다른 목적으로 다른 Redis 인스턴스와 연결을 설정할 수 있습니까?하나의 Rails 앱에서 여러 개의 Redis 인스턴스를 사용할 수 있습니까?

답변

3

예, 그렇습니다.

이것은 redis에 연결하고 사용하는 방법에 따라 다소 다릅니다. 그러나 Rails 애플리케이션이 원하는만큼 많은 redis 서버에 대한 연결을 열지 못하게하는 것은 없습니다. 여러 서버에서 하나의 redis 인스턴스로 연결하려는 경우 connection_pool 보석을 확인하는 것이 좋습니다. 이렇게하면 모든 스레드를 동기화하고 클라이언트가 서버를 압도하지 않게됩니다.

+0

"redis"및 "redis-store"보석을 사용하고 있습니다. 나는 그것들을 더 깊이 들여다 보았다. 나는 그것을하는 법을 본다. /config/initializers/redis.rb에서 우리는 $ redis = Redis.new ()을 수행합니다. 그런 다음 앱에서 $ redis.some_function을 호출합니다. 그러나 명확하게 우리는 Redis를 호출 할 수 있습니다. 다른 곳에서는 새로운 연결을 사용할 수 있습니다. –

+0

예, 정확히 그렇게 할 수 있습니다. – Veraticus

관련 문제