복붙노트

[REDIS] 어떻게 레디 스 대량 삽입을 사용 하는가?

REDIS

어떻게 레디 스 대량 삽입을 사용 하는가?

나는 대량 삽입 redis.io 제공 읽었습니다,하지만 정말 나를 혼동. 나는 파일이 다음 "고양이 data.txt로 | 레디 스-CLI --pipe는"사용 만들려고 삽입 :

    SET Key0 Value0
    SET Key1 Value1
    SET Key2 Value3

해결법

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

    1.여기있어:

    여기있어:

    echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | ./redis-cli --pipe
    All data transferred. Waiting for the last reply...
    Last reply received from server.
    errors: 0, replies: 1
    

    귀하의 문제는 아마도 CR + LF 분리에서 비롯됩니다. 이 점을 확인하기 위해 16 진 덤프 -C 명령을 사용할 수 있습니다 :

    echo -n '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C
    00000000  2a 33 0d 0a 24 33 0d 0a  73 65 74 0d 0a 24 33 0d  |*3..$3..set..$3.|
    00000010  0a 6b 65 79 0a 0d 24 35  0d 0a 76 61 6c 75 65 0d  |.key..$5..value.|
    00000020  0a                                                |.|
    00000021
    

    또한, 당신이 당신의 목표를 확인 할 수 있습니다 것은 최근 레디 스 인스턴스와하지 (이하 "통합 프로토콜을"지원하지 않음) 미리 1-2 버전입니다.

    참고 : 위의 선이 zsh을 함께 잘 작동합니다. 당신이 떠들썩한 파티를 사용하는 경우 인용 트리거 ANSI-C에 인용하기 전에 $를 추가해야합니다 :

    echo -n $'*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | hexdump -C
    
  2. ==============================

    2.나는 SET쪽에 KEY0 Value0 양식을 작동 할 수 있었다.

    나는 SET쪽에 KEY0 Value0 양식을 작동 할 수 있었다.

    https://stackoverflow.com/a/30511742/2613942에서 참조하시기 바랍니다

    회신은 LPUSH 명령에 관한 것입니다. 또한 SET와 함께 잘 작동합니다.

    매개 변수를 두 번 인용, 요약하면

    SET "mykey" "myval"
    

    unix2dos를 가진 UNIX에서 Windows 파일의 형식을 변경합니다 :

    unix2dos myfile.txt
    

    그런 다음 사용 가져

    고양이 MYFILE.TXT | SRC / 레디 스-CLI --pipe

    그건 나를 위해 일했다.

  3. ==============================

    3.당신은 이런 식으로 작업을 수행 할 수 있습니다 :

    당신은 이런 식으로 작업을 수행 할 수 있습니다 :

    echo -e "$(cat data.txt)" | redis-cli --pipe
    

    나는 당신이 도움이되기를 바랍니다!

  4. from https://stackoverflow.com/questions/13195341/how-to-use-redis-mass-insertion by cc-by-sa and MIT license