2013-02-19 5 views
1

설정 : 동일한 시스템에서 마스터와 4 개의 슬레이브가 실행되는 redis 설정이 있습니다. 여러 인스턴스를 사용하는 이유는 있었다 -Redis mget vs get

  • 키의 수는 작았으로
  • 메모리 제약이 아니었다 핫 키를 방지하기 위해 ~ 10,000 (우리는 초대형 EC2 기계가)

요청 : 고객 요청 당 약 60 건의 요청을 redis에서받습니다. 우리는 4 mgets에 60 gets를 통합합니다. 우리는 모든 요청에 ​​대해 단일 연결을 만듭니다 (임의로 선택되는 슬레이브 중 하나에게).

질문

  • 그것은 노예에서 복제 된 데이터 레디 스의 여러 인스턴스를 실행할 수있는 의미가 있습니까?
  • 우리가 얻은 것 대신에 mgets를 만들면 같은 기계에 모든 인스턴스가있는 곳에서 도움이됩니까? 동일한 시스템에서

답변

1
  • 실행 여러 레디 스 인스턴스가 유용 할 수 있습니다. Redis는 단일 스레드이므로 컴퓨터에 여러 개의 코어가있는 경우 여러 인스턴스를 사용하여 더 많은 CPU 성능을 얻을 수 있습니다. Craigslist는 여기에 설명 된대로이 구성에서 실행됩니다 : http://blog.zawodny.com/2011/02/26/redis-sharding-at-craigslist/.

  • 동일한 시스템에서 여러 인스턴스를 실행해도 변경되지 않아야하므로 처리량이 증가하므로 60 대 반대로 4 라운드 트립을 수행하므로 mget 대 get이 도움이됩니다.