복붙노트

[REDIS] 잠금 및 레디 스

REDIS

잠금 및 레디 스

우리는 75 (성장) 서버가 그 레디 스를 통해 데이터를 공유 할 필요가있다. 모든 75 개 서버는 이상적으로 INCRBYFLOAT 작업과 레디 스에서 두 개의 필드에 기록 할 것입니다. 매일이 두 필드에 읽기의 우리는 결국 잠재적으로 매일 쓰기 작업의 수백만 수십억을 가지고 기대하고 있습니다. 이 데이터는 영구적이어야합니다.

우리는 레디 스 잠금 힘 원인 쓰기 작업이 반복적으로 같은 분야를 증가하는 동시에 많은 시도와 시도 할 것을 우려하고있다.

질문 :

해결법

  1. ==============================

    1.레디 스 잠글하지 않습니다. 또한, 단일 스레드이고; 그래서 경쟁 조건이 없습니다. 읽기 또는 쓰기는 차단하지 않습니다.

    레디 스 잠글하지 않습니다. 또한, 단일 스레드이고; 그래서 경쟁 조건이 없습니다. 읽기 또는 쓰기는 차단하지 않습니다.

    당신은 아무 문제없이 동일한 키에 INCRBYFLOAT의 수백만을 실행할 수 있습니다. 외부 프로세스에 대한 필요가 없습니다. 해당 필드를 읽기 문제를 제기하지 않습니다.

    즉 "두 개의 키에 대한 업데이트의 수백만은"이상한 소리를했다. 당신이 사용 사례를 설명 할 수 있다면, 아마도 레디 스 이내에 처리 할 수있는 더 좋은 방법이있을 수 있습니다.

  2. ==============================

    2.레디 스가 단일 스레드이기 때문에 읽기에서, 당신은 아마 예부터 쓰기가 일반적으로 블록 읽기되며, 별도의 쓰기에 마스터 - 슬레이브 복제를 사용하는 것이 좋습니다.

    레디 스가 단일 스레드이기 때문에 읽기에서, 당신은 아마 예부터 쓰기가 일반적으로 블록 읽기되며, 별도의 쓰기에 마스터 - 슬레이브 복제를 사용하는 것이 좋습니다.

    또는 당신이 아파치 사육사를 사용하여 고려할 수 있습니다, 그것은 (단일 레디 스 인스턴스처럼) 단일 장애 지점없이 신뢰할 수있는 클러스터 조정을 제공합니다.

  3. from https://stackoverflow.com/questions/10650232/locking-and-redis by cc-by-sa and MIT license