sql >> Databáze >  >> NoSQL >> Redis

Jak hromadně odstranit stovky tisíc klíčů se speciálními znaky v Redis

Zde je návod, jak jsem to vyřešil, funguje to pro miliony záznamů bez zdůrazňování redis.

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

Krok 1. Uložte všechny klíče, které potřebujete z redis do souboru, zavolejte tento soubor YES_WE_CAN.sh

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

Krok 2: Otevřete soubor YES_WE_CAN.sh pomocí vi nebo vim a stiskněte : znak a poté zadejte následující, abyste nahradili speciální znak ' :

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

To nahradí všechny ' znaky s '"'"' escape sekvence. (Věřte mi, funguje to, pokračujte!)

Krok 3: Před každý řetězec přidejte redis-cli DEL (nezapomeňte na mezeru na konci):

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

Krok 4: Na konec každého řádku připojte ' postava:

:%s/$/'/g

Krok 5: Uložte soubor a ukončete pomocí :wq

Krok 6: Změňte soubor YES_WE_CAN.sh do spustitelného režimu:

chmod +x YES_WE_CAN.sh

Krok 7: Spusťte soubor:

./YES_WE_CAN.sh

Vychutnejte si kávu, zatímco skript smaže miliony klíčů, které jste požadovali.



  1. MongoDB:Co je sdružování připojení a časový limit?

  2. MongoDB $setEquals

  3. Nelze získat přístup k vlastnosti objektu odpovědi Mongoose

  4. Importujete soubor JSON pomocí mongimportu, stále dostáváte „neočekávaný identifikátor“?