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?
- In primo luogo, utilizziamo
redis-cli --scan --pattern <pattern>
per ottenere un elenco di chiavi, una chiave per riga. - Quindi eseguiamo uno script awk per ogni chiave. Questo script awk è un po' complesso, quindi lo analizzeremo
- Lo script awk ha un modello di comando
expire __key__ 1000
. Questo è il comando che verrà eseguito per tutte le chiavi. - Per ogni chiave corrispondente, il comando awk sostituisce
__key__
con la chiave vera e propria - Successivamente, convertiamo il comando string nel formato del protocollo redis. Questo è il formato non elaborato che redis comprende.
- 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
- Puoi personalizzare
cmd_template
per eseguire qualsiasi comando redis a chiave singola su più chiavi corrispondenti a uno schema. - La scansione Redis consente solo modelli in stile glob, regex non è supportato. Quindi
users:*
corrisponderà ausers:123
così comeusers:123:favourites
. Puoi inserire ungrep
in cantiere dopo il primo redis-cli e prima dello script awk. - 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!