[REDIS] 레디 스 대량 삽입
REDIS레디 스 대량 삽입
나는이 I을 처리하기 위해 바쁜 쓰기 코드를 얻기 전에 http://redis.io/topics/mass-insert 단지 확인 I가 무엇인지에 대한 명확한 오전되고 싶어요 : 여기에 설명 된 바와 같이 나는 대량 삽입을 할 레디 스 '프로토콜을 사용하여 고려하고 레디 스에서 요구하는 것은이 일을 확인합니다.
위의 링크는 SET 작업을 호출 할 것을 제안 [SET의 mykey 값 myValue] 내가 파일 또는 단일 인용 문자열 중 여러 라인에서 수행 할 수있는 명령을 만들 필요가 대량 삽입을 사용하여.
나는 SET 명령을 사용하지 않는 가정 대신에 나는 세트에 추가 할 SADD의 명령을 사용합니다. 내가 여기에 인용 된 문자열 형식으로 유효가 무엇입니까?
"* 4 \ R \ n 4 $ \ R \ nSADD \ R \ n $ 2 \ R \ N80 \ R \ n 5 $ \ R \ n1,2,34 \ R \ n"
값이 1,2,34 80 : 기본적으로 내가 무엇을 저장하고하는 것은 중요하다
내가 원하는 결국 할 수있는 기능이 있습니다 :
Key Value
80 1,2,34
90 4,8,34
두 집합의 교집합 (소결) 및 / 또는 노동 조합 (SUNION)를 가져옵니다. 즉 소결 = 34 또는 SUNION = 1,2,4,8,34
당신이 제공 할 수있는 모든 유용한 정보 감사드립니다. 난 그냥 옳은 길이에있어 있는지 확인하려면.
해결법
-
==============================
1.나는 당신이 (보통 가장 좋은 것이 아니다) 조기 최적화의 경로에있는 말할 것입니다.
나는 당신이 (보통 가장 좋은 것이 아니다) 조기 최적화의 경로에있는 말할 것입니다.
레디 스 클라이언트를 지원하는 파이프 라인을 가진 모든 스크립트 언어가 적어도 50K 명령을 밀어 할 수 있어야한다 /를 레디 스 서버에이야. 코드는 수동으로 레디 스 프로토콜을 인코딩 할 필요없이, 간단합니다. 부여, 대규모 삽입 트릭은 빠르지 만, 당신이 정말로 그것을 필요합니까?
당신은 여전히 대규모 삽입에 충실하고자하는 경우에 지금, 당신은 적절한 레디 스 명령을 인코딩 할 필요가있다. 제공 한 예는 여러 가지 이유로 잘못이다 :
적절한 명령은 오히려이 같은 것입니다 :
"*5\r\n$4\r\nSADD\r\n$2\r\n80\r\n$1\r\n1\r\n$1\r\n2\r\n$2\r\n34\r\n"
레디 스 프로토콜은 여기에 설명되어 있습니다 : http://redis.io/topics/protocol
from https://stackoverflow.com/questions/18870623/redis-mass-insertion by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 어떻게 레디 스에서 개체의 배열을 저장하는? (0) | 2020.01.08 |
---|---|
[REDIS] 데이터 집약적 인 애플리케이션을위한 일반 자바 효율 대 자바 + 레디 스? (0) | 2020.01.08 |
[REDIS] 어떻게 레디 스 'ZRANK에 같은 점수에 대한 동일한 순위를 얻으려면? (0) | 2020.01.08 |
[REDIS] GKE 캔트 비활성화 투명 거대한 페이지는 ... 권한이 거부 (0) | 2020.01.08 |
[REDIS] 레디 스 만료 접두어 키를 저장 (0) | 2020.01.08 |