복붙노트

[REDIS] 어떻게 대량으로 레디 스에서 특수 문자 키의 수천 삭제 수백

REDIS

어떻게 대량으로 레디 스에서 특수 문자 키의 수천 삭제 수백

우리는 특수 문자의 모든 종류를 포함 레디 스 키 수십만의 목록을 가지고 있고 우리는 그들을 삭제 대량 싶습니다. 이 질문에 비슷한 문제에 대한 몇 가지 좋은 답변이 있습니다 : 어떻게 레디 스를 사용하여 패턴과 일치하는 원자 적으로 삭제 키

그러나, 나는 어디에 경우에 대한 답을 찾을 수 없습니다 :

나는 우리가 바로 다음과 같은 일을 할 수 있다면 사랑하지만 레디 스 문제를주는 특수 문자 모두와 함께 키를 처리 할 것이다 :

레디 스-CLI SMEMBERS "myGiganticListOfKeys"| xargs를 --del = '\ n'- 레디 스 CLI OF

불행하게도 이것은 단지 오류가 아래에 있습니다 :

"C는 : / 프로그램 파일 (86) /Git/bin/xargs.exe는"레디 스-CLI : 잘못된 파일 번호

우리가 키에 특수 문자를 가지고 있지 않은 경우에 나는이 것, 그렇지 않으면 일을 생각한다.

정말 감사합니다 사전에있다.

해결법

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

    1.당신은 더 강력한 클라이언트를 사용하여 응용 프로그램을 만드는 시도해야합니다. 클라이언트 목록을 참조하십시오. 레디 스-CLI는 아주 기본적인 명령 행 유틸리티 그냥 레디 스에 / 플레이를 해킹하기위한 것입니다.

    당신은 더 강력한 클라이언트를 사용하여 응용 프로그램을 만드는 시도해야합니다. 클라이언트 목록을 참조하십시오. 레디 스-CLI는 아주 기본적인 명령 행 유틸리티 그냥 레디 스에 / 플레이를 해킹하기위한 것입니다.

    나는 가장 키 / 값 저장소를 다시 설계하는 것입니다 당신과 함께 동의합니다.

    키가 추가 될 때 태그로 사용하여 그룹화 키에 해시를 한 다음 해시에있는 모든 키를 제거하는 전체 태그를 무효 : 여러 키를 무효화해야하는 경우 태그 메커니즘을 사용하는 것이 좋습니다.

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

    2.여기에 내가 레디 스를 강조하지 않고, 기록의 엄청나게 많은이 작품을 그것을 해결 방법은 다음과 같습니다.

    여기에 내가 레디 스를 강조하지 않고, 기록의 엄청나게 많은이 작품을 그것을 해결 방법은 다음과 같습니다.

    WARNING: PLEASE DO NOT TRY THIS AT HOME UNATTENDED AND MAKE SURE TO WEAR 
    ALL SAFETY EQUIPMENT NECESSARY FOR THE TASK.
    

    파일로 레디 스에서 필요한 모든 키를 덤프 1 단계,이 파일 YES_WE_CAN.sh를 호출 할 수 있습니다

    redis-cli KEYS "StartsWith*" > YES_WE_CAN.sh
    

    2 단계 : VI 또는 정력을 누릅니다 열기 파일 YES_WE_CAN.sh : 문자, 다음 특수 문자 '를 대체하기 위해 다음을 입력 :

    :%s/'/'"'"'/g
    

    이것은 " '"'이스케이프 시퀀스 '로 캐릭터를 모두 대체합니다. (신뢰 나,이 작품은 계속 가고!)

    3 단계 : 앞에 추가 각 문자열 레디 스-CLI DEL에 (그나마 끝에 공간을 잊지) :

    :%s/^/redis-cli DEL /g
    

    4 단계 : 추가] 각 라인 '문자의 끝에 :

    :%s/$/'/g
    

    5 단계 : 파일을 저장하고 사용 종료하십시오 WQ

    6 단계 : 실행 모드로 파일 YES_WE_CAN.sh을 변경 :

    chmod +x YES_WE_CAN.sh
    

    7 단계 : 파일을 실행합니다 :

    ./YES_WE_CAN.sh
    

    스크립트가 요청한 키의 수백만을 삭제하는 동안 커피를 즐길 수 있습니다.

  3. from https://stackoverflow.com/questions/32890648/how-to-bulk-delete-hundreds-of-thousands-of-keys-with-special-characters-in-redi by cc-by-sa and MIT license