sql >> Databasteknik >  >> NoSQL >> Redis

Hur man byter namn på flera nycklar i Redis

Redis erbjuder inte ett kommando för att massbyta nycklar i redis. Men det är lätt nog att skapa ett skript med redis-cli och några kommandoradsverktyg.


Detta kommando kommer att byta namn på nycklar som matchar användare:* till kunder*:

Hur fungerar skriptet?

  1. Först använder vi redis-cli --scan --pattern för att få en lista över nycklar som bör bytas namn. Eftersom vi använder scan-kommandot blockerar detta inte redis-servern.
  2. Närnäst använder vi awk för att göra strängbyte och generera ett nytt namn. Detta är gsub(/users/,"customers", new_key) i bash-kommandot
  3. Närnäst använder vi generera vårt kommando byt namn på , men för att göra det effektivt genererar vi det i redis-protokollformatet.
  4. Slutligen skickar vi redis-protokollet till redis-cli med --pipe alternativ. Detta är det mest effektiva sättet att skicka en ström av kommandon till redis-servern.

Anpassa detta skript

  1. Om din redis-server inte finns på localhost måste du ange värden, porten och lösenordet två gånger i kommandot, i princip när du anropar redis-cli.
  2. Du måste byta ut skanningsmönstret och gsub-anropet för att möta dina behov.

Se även

  • Byt namn på fält i en hash
  • Ange utgångsdatum till flera nycklar
  • Ta bort nycklar som matchar ett mönster
  • RDBTools GUI för Redis låter dig förhandsgranska dina bulkåtgärder och tillhandahåller ett kraftfullt GUI för att hantera data i Redis. Det är en gratis nedladdning!

  1. HBase och Hive – Bättre tillsammans

  2. MongoDB - Varva ner array med aggregering och ta bort dubbletter

  3. Redis set vs hash

  4. Hitta nycklar med jokertecken