Redis
 sql >> Database >  >> NoSQL >> Redis

Come eliminare le chiavi che corrispondono a un modello in Redis

Redis non offre un modo per eliminare in blocco le chiavi. Puoi tuttavia usare redis-cli e un po' di magia da riga di comando per eliminare in blocco le chiavi senza bloccare redis.


Questo comando cancellerà tutte le chiavi corrispondenti agli utenti:*
redis-cli --scan --pattern users:* | xargs redis-cli del

Se utilizzi Redis 4.0 o versioni successive, puoi utilizzare il comando unlink invece per eliminare le chiavi in ​​background.


redis-cli --scan --pattern users:* | xargs redis-cli unlink

Come funziona lo script?

  1. In primo luogo, utilizziamo redis-cli --scan --pattern <pattern> per ottenere un elenco di chiavi, una chiave per riga. Poiché utilizza la scansione, il server redis non è bloccato.
  2. xargs prende più righe e le combina sulla stessa riga, quindi stai essenzialmente eseguendo il comando del <key1> <key2>...
  3. Se hai migliaia di chiavi che corrispondono allo schema, xargs eseguirà automaticamente redis-cli più volte.

Vedi anche

  • Rinomina i campi in un hash
  • Imposta Scadenza su più chiavi
  • Rinomina più chiavi utilizzando la scansione
  • La GUI di RDBTools per Redis ti consente di visualizzare in anteprima le tue azioni in blocco e fornisce una potente GUI per gestire i dati in Redis. È un download gratuito!