복붙노트

[REDIS] 레디 스 클러스터에서 루아를 사용하거나 난 그냥 해시 태그를 전달할 수 있습니다 때 전체 키 이름을 지정해야 하는가?

REDIS

레디 스 클러스터에서 루아를 사용하거나 난 그냥 해시 태그를 전달할 수 있습니다 때 전체 키 이름을 지정해야 하는가?

나는 레디 스 클러스터로 마이그레이션을 고려하고 루아 스크립트가

나는 때 통화 평가 전체 키 이름을 지정해야 하는가? 아니면 내가 해시 태그를 지정하여 단지 멀리 얻을 수 있나요?

예를 들어, 내가 대신 {UNIQUE_HASH_TAG} / 키 1, {UNIQUE_HASH_TAG} / 키 2 ... 등의 {UNIQUE_HASH_TAG}를 통과 할

때로는 동적하지만 같은 해시 태그 내에서 키 이름을 생성 결국 - 나는 키를 많이 가지고 있고, 논리가 꽤 복잡하다.

내가 대신 키 이름의 단지 해시 태그를 전달하여 일부 사양을 위반하는 것인가?

해결법

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

    1.즉, 권장 좋습니다.

    즉, 권장 좋습니다.

    아니, 사양은 키 이름이 명시 적으로 전달 될 필요가 있음을 명시하지 않습니다. 키 / ARGV 메커니즘은 클러스터에 대비하여 장소에 넣어하지만 클러스터 전에 실제로있게되었습니다했다. 추천 그들이 동일한 클러스터 해시 슬롯에있을 거 야 확신이 없다 동적 스크립트에서 키 이름을 생성 / 하드 코딩하지 않도록하는 것이었다 그래서 그 당시, 해시 태그는 클러스터의 디자인의 일부가 아니었다.

    당신의 접근 방식은 완벽하게 유효하며 예상대로 작동합니다. 그렇지 않으면 당신은 확장 성 문제가 될 수 몇 슬롯을 때리는거야 - 내가 어떻게 당신이 소위 {UNIQUE_HASH_TAG}을 많이 관리하는 경우이 만이야 의미가 있음을 강조하고 싶다.

    편집 : 모든 당신이 정말로 항상 명시 적으로 속여보다는 스크립트에 키 이름을 통과해야 말했다. 이 현재 차단 된 것은 아니지만,이 지정되지 않은 동작은 향후 변경 및 코드의 파손이 발생할 수 있습니다.

  2. from https://stackoverflow.com/questions/34741155/should-i-specify-full-key-names-when-using-lua-in-redis-cluster-or-can-i-just-p by cc-by-sa and MIT license