In questa guida, esploreremo come scadere le chiavi in Redis. Come suggerisce il titolo, ci concentreremo sulla scadenza della chiave hash, ma il concetto generale si applica anche ad altre chiavi."
Prerequisiti
Per eseguire i passaggi dimostrati in questa guida, avrai bisogno dei seguenti componenti pronti a partire:
Tasti Redis
Le chiavi Redis sono persistenti per impostazione predefinita, il che significa che qualsiasi voce rimarrà intatta a meno che. Mentre questa configurazione è buona in generale, ci sono situazioni in cui potresti voler scadere le chiavi dopo un certo periodo di tempo. In altre parole, vorresti volatile tasti.
Ora, Redis supporta più tipi di chiavi, classificate per tipo di dati. Ecco alcuni dei tipi di dati più comuni che incontrerai:
Dai un'occhiata alla documentazione ufficiale di Redis sui tipi di dati per informazioni più approfondite. Ai fini di questa guida, ci concentreremo sulle chiavi hash.
Tasti hash
In Redis, gli hash sono mappe tra campi (stringa) e valori (stringa). A causa di questa struttura, è il tipo di dati perfetto per rappresentare gli oggetti. Spieghiamo con un esempio. Dai un'occhiata alla seguente struttura:
Qui, possiamo considerare user_database come una chiave hash. All'interno di questo hash, abbiamo più coppie di valore di campo, che rappresentano nome utente e password. Implementlo in Redis:
$ Hmset user_database user_1 "David" pass_1 "password_1"
$ Hmset user_database user_2 "Alex" pass_2 "password_2"
$ Hmset user_database user_3 "mason" pass_3 "password_3"
Come dimostrato, Redis utilizza il comando hmset per registrare le chiavi hash. Per recuperare i dati archiviati nella chiave, dobbiamo utilizzare il comando HGET:
$ Hget user_database user_1
$ Hget user_database pass_3
Per ottenere le informazioni di tutti i campi contemporaneamente, usa invece il comando hgetall:
$ Hgetall user_database
In Redis, una chiave hash può avere fino a 2^32 - 1 (oltre 4 miliardi di) coppie di valore di campo. Il più delle volte, gli hash sono usati per rappresentare gli oggetti. Tuttavia, a causa della sua natura, gli hash possono essere utili in numerose situazioni.
La chiave Redis scade
Tutti gli oggetti Redis hanno un tempo di scadenza. Per impostazione predefinita, il valore è impostato su mai. Tuttavia, modificando questo valore, possiamo impostare le chiavi Redis che scadranno automaticamente dopo un periodo di tempo fisso. Una volta passato il tempo di scadenza, la chiave viene eliminata dal database.
Mentre è una spiegazione generalizzata, il meccanismo effettivo di scadenza chiave è in qualche modo complicato. Dai un'occhiata alla documentazione ufficiale di Redis per una spiegazione approfondita del meccanismo di scadenza chiave.
Per impostare un tempo di scadenza, utilizzeremo il comando di scadenza. Il seguente esempio dimostra il suo utilizzo:
$ Set ciao "The Quick Brown Fox"
$ Scade ciao 999
Qui, la chiave Hello scadrà in 999 secondi. Per verificare l'esercizio per scadere una chiave, utilizzare il comando TTL:
$ Ttl ciao
L'output restituirà il tempo lasciato prima della scadenza della chiave. Tuttavia, in caso di errore, TTL può restituire valori diversi:
Chiave hash in scadenza
Ora che comprendiamo le chiavi hash e come funziona la scadenza chiave, il tempo di metterli in azione.
Continuando dall'esempio chiave hash, mettiamo un tempo di scadenza a user_database:
$ Scade user_database 999
Per verificare questa azione, controllare il valore TTL di user_database:
$ Ttl user_database
Scadi le opzioni
Il comando scaduto viene fornito con alcune opzioni aggiuntive che implementano alcune condizioni aggiuntive quando si imposta il tempo di scadenza. Quelli sono i seguenti:
Quando si implementano le opzioni, il comando assomiglierebbe a questo:
$ Scade
Continuando dall'esempio precedente, aggiorniamo il tempo di scadenza di user_database:
$ Scade user_database 9999 GT
Verifica se il tempo di scadenza è stato aggiornato:
$ Ttl user_database
Pensieri finali
In questa guida, abbiamo esplorato in scadenza una chiave di hash in Redis. Redis viene fornito con un comando dedicato scadere per impostare un tempo di scadenza per le chiavi. Abbiamo dimostrato come usare questo comando per scadere una chiave demo. Abbiamo anche esplorato varie opzioni, il comando scadenza supporti.
Interessato a saperne di più su Redis? La sottocategoria Redis è piena di guide approfondite. Ulteriori informazioni sui comandi Redis comuni, il comando bitcount, il pipelining ecc.
Felice calcolo!