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:
FLUSHDB comando – Cancella tutte le chiavi del DB attualmente selezionato.
FLUSHALL comando – Rimuove tutte le chiavi di tutti i database esistenti, non solo quello attualmente selezionato.
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_NUMBERFLUSHDB redis-cli -n DB_NUMBERFLUSHDB 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:
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 6000FLUSHDB $ redis-cli -h 10.8.0.1FLUSHALL
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:
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 2FLUSHDB
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:
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 addressfor s in 10.105.29.1 10.105.29.2 10.105.29.3
doecho"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!
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.
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.