Redis scade la chiave hash

Redis scade la chiave hash
"Redis è un archivio di struttura dati in memoria open source utilizzata come database distribuito per valore chiave in memoria. A causa della sua natura, Redis è un'archiviazione dei dati ad alte prestazioni, adatta all'implementazione in diverse situazioni, ad esempio cache, broker di messaggi, ecc.

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:

  • Un sistema Linux correttamente configurato. Ulteriori informazioni sull'installazione di Ubuntu.
  • Redis Server installato e configurato. Ulteriori informazioni sull'installazione di Redis su Ubuntu.

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:

  • stringhe
  • Elenchi
  • Imposta
  • Hash

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:

  • user_database
  • David: password_1
  • Alex: password_2
  • Mason: password_3

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:

  • -2 Se la chiave non esiste.
  • -1 Se la chiave non ha una scadenza associata.

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:

  • NX: il tempo di scadenza è impostato solo se la chiave non ha scadenza.
  • XX: il tempo di scadenza è impostato solo se la chiave ha una scadenza esistente.
  • GT: il nuovo tempo di scadenza è impostato se la nuova scadenza è maggiore di quella attuale.
  • LT: il nuovo tempo di scadenza è impostato se la nuova scadenza è inferiore a quella attuale.

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!