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

Come impostare la scadenza su più chiavi in ​​Redis

Spesso gli sviluppatori dimenticano di impostare una scadenza per le chiavi e redis inizia a esaurire la memoria. Sebbene tu possa impostare una scadenza per le chiavi appena generate, hai comunque bisogno di un modo per impostare una scadenza per le chiavi già presenti in memoria.


Questo comando imposterà la scadenza alle chiavi corrispondenti agli utenti:*


Come funziona lo script?

  1. In primo luogo, utilizziamo redis-cli --scan --pattern <pattern> per ottenere un elenco di chiavi, una chiave per riga.
  2. Quindi eseguiamo uno script awk per ogni chiave. Questo script awk è un po' complesso, quindi lo analizzeremo
  3. Lo script awk ha un modello di comando expire __key__ 1000 . Questo è il comando che verrà eseguito per tutte le chiavi.
  4. Per ogni chiave corrispondente, il comando awk sostituisce __key__ con la chiave vera e propria
  5. Successivamente, convertiamo il comando string nel formato del protocollo redis. Questo è il formato non elaborato che redis comprende.
  6. Infine, convogliamo i comandi grezzi su redis-cli usando il flag –pipe. Questo è il modo più efficiente per inviare comandi in blocco a redis.

Personalizzazione di questo script

  1. Puoi personalizzare cmd_template per eseguire qualsiasi comando redis a chiave singola su più chiavi corrispondenti a uno schema.
  2. La scansione Redis consente solo modelli in stile glob, regex non è supportato. Quindi users:* corrisponderà a users:123 così come users:123:favourites . Puoi inserire un grep in cantiere dopo il primo redis-cli e prima dello script awk.
  3. Se il tuo server Redis non è su localhost, dovrai fornire l'host, la porta e la password due volte nel comando, praticamente ogni volta che chiami redis-cli.

Vedi anche

  • Rinomina i campi in un hash
  • Rinomina più chiavi utilizzando la scansione
  • Elimina le chiavi corrispondenti a uno schema
  • 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!