Connect with us

Linux

Come svuotare la cache Redis ed eliminare tutto utilizzando la CLI


io configurare la cache Redis per la mia app web. Voglio un database vuoto e liberarmi di tutte le chiavi. Come posso eliminare tutto nella cache di Redis? Come posso svuotare la mia cache Redis utilizzando l’opzione della riga di comando Linux/Unix? Qual è il comando per eliminare tutte le chiavi dal mio cluster Redis?

Dettagli tutorial
Livello di difficoltà Facile
Privilegi di root No
Requisiti Server Redis con redis-cli
Est. momento della lettura 4 minuti

Puoi svuotare cache/database ed eliminare tutte le chiavi utilizzando uno dei seguenti comandi redis-cli:

  1. FLUSHDB comando – Cancella tutte le chiavi del DB attualmente selezionato.
  2. FLUSHALL comando – Rimuove tutte le chiavi di tutti i database esistenti, non solo quello attualmente selezionato.

Come eliminare tutti i dati in Redis
Tieni presente che la versione Redis 4.0.0 e successive è ora in grado di eliminare le chiavi in ​​background in un thread diverso senza bloccare il server. Un’opzione ASYNC è stata aggiunta a FLUSHALL e FLUSHDB per consentire di liberare in modo asincrono l’intero set di dati o un singolo database.

Avvertimento: Una volta rimossi i dati/chiavi/valori non possono essere recuperati. Prestare attenzione quando si digitano i seguenti comandi.

Sintassi per svuotare la cache Redis

La sintassi è la seguente per svuotare la cache Redis dal prompt della shell:
redis-cli FLUSHDB
redis-cli -n DB_NUMBER FLUSHDB
redis-cli -n DB_NUMBER FLUSHDB ASYNC
redis-cli FLUSHALL
redis-cli FLUSHALL ASYNC

Tieni presente che possiamo impostare il nome host del server (predefinito: 127.0.0.1), la porta (predefinito: 6379), il socket e la password da utilizzare durante la connessione al server come segue:

redis-cli -h {hostname_IP} -p {port} -s {socket} -a {password}  FLUSHDB
redis-cli -h {hostname_IP} -p {port} -s {socket} -a {password} FLUSHALL

Possiamo anche usare il REDISCLI_AUTH variabile d’ambiente per passare questa password in modo più sicuro:

REDISCLI_AUTH='my_password' redis-cli 10.8.5.4 -p 6374 FLUSHDB

Per motivi di sicurezza, potresti voler nascondere i processi ad altri utenti e il comando ps su Linux per non esporre la tua password.

Svuotare la cache di Redis con redis-cli

Il nome host del server predefinito è impostato su 127.0.0.1 e la porta su 6379. Possiamo sovrascriverlo come segue:
$ redis-cli -h {host-name} -p {port-name} command
$ redis-cli -h 192.168.5.100 -p 6000 FLUSHDB
$ redis-cli -h 10.8.0.1 FLUSHALL

Solo guide per i sostenitori di Patreon ????

  • Nessuna pubblicità e tracciamento
  • Guide approfondite per sviluppatori e amministratori di sistema su Opensourceflare✨
  • Unisciti al mio Patreon per supportare i creatori di contenuti indipendenti e iniziare a leggere le ultime guide:

Aderire Patreon ?

Eliminazione di chiavi da un database specifico

redis-cli -n {database number} flushdb
Ma come trovare ed elencare tutti i database Redis? Non aver paura. Prova i seguenti comandi:

redis-cli CONFIG GET databases
redis-cli INFO keyspace
## We can state host IP too ##
redis-cli -h 10.105.29.1 databases
redis-cli -h 10.105.29.1 INFO keyspace

Ora possiamo cancellare la cache Redis per db #0 o #1 come segue:

redis-cli -n 0 flushdb
redis-cli -n 1 flushdb async
redis-cli -h 10.105.29.1 -n 0 flushdb async

Cancellazione della cache Redis rimuovendo tutte le chiavi da un database specifico

Come cancellare la cache Redis usando la password

Sì, possiamo fornire anche la password se impostata dal tuo amministratore di sistema quando ti connetti al server passando il -un opzione per redis-cli:
$ redis-cli -a '{password-here}' COMMAND
$ redis-cli -a 'SuperSecretPassword' -h 10.8.0.5 -p 6379 -n 2 FLUSHDB

Esempi – Elimina tutte le chiavi usando redis-cli

Digita il seguente comando per eliminare tutte le chiavi del DB #4:
$ redis-cli -n 4 FLUSHDB
Uscite di esempio:

OK

Per rimuovere tutte le chiavi di tutto il database esistente, eseguire:
$ redis-cli FLUSHALL
Uscite di esempio:

OK

Automazione dell’eliminazione della cache Redis utilizzando lo strumento Ansible devops

Supponiamo che tu abbia 10 diversi server Redis in esecuzione e desideri rimuovere tutte le chiavi di tutti i DB esistenti. Crea un file host come segue:
$ cat hosts
Uscite di esempio:

[redis]
ansible_user=vivek
vm1-eu
vm2-us
vm3-bom
vm4-del
vm5-nyc
vm6-eu-2
vm7-linod-fr-1
vm8-do-blr-1
vm9-do-blr-2
vm10-linod-tx-1

Ora tutto ciò che devi fare è eseguire il seguente comando (supponendo che le chiavi SSH siano impostate tra la tua workstation e tutte le altre VM/server bare metal)
$ ansible -i hosts redis -m command -a '/usr/bin/redis-cli FLUSHALL'
Uscite di esempio:

vm1-eu | SUCCESS | rc=0 >>
OK

vm2-us | SUCCESS | rc=0 >>
OK

vm3-bom | SUCCESS | rc=0 >>
OK

vm4-del | SUCCESS | rc=0 >>
OK

vm5-nyc | SUCCESS | rc=0 >>
OK

vm6-eu-2 | SUCCESS | rc=0 >>
OK

vm7-linod-fr-1 | SUCCESS | rc=0 >>
OK

vm8-do-blr-1 | SUCCESS | rc=0 >>
OK

vm9-do-blr-2 | SUCCESS | rc=0 >>
OK

m10-linod-tx-1 | SUCCESS | rc=0 >>
OK

Una nota sul cluster redis

Stai usando un cluster? È necessario eseguire il comando FLUSHDB o FLUSHALL su ogni nodo master. Ad esempio, esegui il seguente comando su tre nodi master usando bash for loop:

# three master node ip address
for s in 10.105.29.1 10.105.29.2 10.105.29.3
do
  echo "Flushing DB from $s node ..."
  redis-cli -h $s FLUSHDB
done

Svuotamento della cache/nodo redis dalla console quando si utilizza il cluster AWS Elasticache

Non è necessario riavviare il nodo. Puoi eseguire i comandi precedenti dal server/host cloud EC2 o utilizzando l’API:
# FLUSH everything #
$ redis-cli -h AWS-Elasticache-Host -p AWS-Port_Number FLUSHALL
# FLUSH by DB_NUMBER aka specific DB #
$ redis-cli -h AWS-Elasticache-Host -p AWS-Port_Number -n DB_NUMBER FLUSHDB

Conclusione

Hai imparato come svuotare la cache redis ed eliminare tutte le chiavi utilizzando l’opzione della riga di comando. Per maggiori informazioni leggi i documenti ufficiali di redis qui e qui.


ANNUNCIO



Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare.

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi