Redis Hlen

Redis Hlen

Campi hash di Redis

Gli hash sono un tipo di dati popolare nei negozi Redis perché possono rappresentare in modo completo gli oggetti del mondo reale. Gli oggetti del mondo reale contengono campi assegnabili ai valori, come mostrato nei seguenti.

In Redis, la struttura dei dati hashMap disposizioni per le coppie di valore nome. Una coppia di valore nome-valore può essere identificata come un campo in un'entità del mondo reale. Mappiamo l'istanza dei dipendenti sopra su un hash Redis.

Nell'esempio sopra, abbiamo ottenuto la chiave Redis di alto livello "Dipendente: 1", Dove archiviamo il nostro hash. Esistono quattro campi di hash che rappresentano quattro attributi dell'oggetto dipendente. Gli hash di Redis possono archiviare più di 4 miliardi di campi hash che sono più che sufficienti per rappresentare i tuoi oggetti. La cosa migliore è che ci vuole ancora spazio minimo nell'istanza del database Redis. È più efficiente mantenere 1000 campi hash entro 10 tasti Redis di alto livello per archiviare 10000 dati di valore chiave che per archiviare tale quantità di dati in 10000 tasti Redis di alto livello.

Comando Redis Hlen

In alcune applicazioni, è necessario contare il numero di proprietà o campi disponibili per un determinato oggetto. Se viene memorizzato in un hash Redis, allora è un comando lontano dal recupero del numero di campi hash nella chiave specificata. IL "Hlen"Il comando può essere utilizzato per contare il numero di campi di hash contenuti in un determinato hash.

Sintassi

1
Hlen hash_key

tasto cancelletto: Questa è la chiave Redis di alto livello a cui è stato conservato l'hash.

Questo comando restituisce un valore intero che è il numero di campi hash memorizzati in una determinata chiave. Quando non esiste l'hash_key, questo comando tornerà 0. Questo comando ha una costante complessità del tempo O (1), che ti motiva a usarlo in applicazioni ad alte prestazioni.

Esempio - Conteggio del numero di articoli in un carrello

Supponiamo che stiamo usando il database Redis per archiviare gli articoli del carrello. L'idea è di identificare ogni cliente con una chiave Redis. Ogni Redis Key memorizza più campi hash che rappresentano un elemento del carrello della spesa. L'oggetto oggetto del carrello della spesa sembrerebbe il seguente.

Possiamo usare il comando HSET per aggiungere alcuni elementi del carrello per "Cliente: 1".

1
Cliente HSET: 1 Apple 10 birra 5 latte 2

Ora il cliente: 1 oggetto dovrebbe apparire come il seguente.

Ci sono 3 campi conservati al Chiave "Cliente: 1". Useremo il comando HLEN per contare il numero di campi nella chiave "Cliente: 1".

1
Cliente Hlen: 1

Produzione:

L'output è 3, come previsto.

Eliminiamo il campo "birra" al Cliente: 1 chiave. Il comando HDEL può essere utilizzato per eliminare un campo da una determinata chiave.

1
Cliente HDEL: 1 birra

Ora possiamo controllare i campi di hash esistenti eseguendo il comando hgetall.

1
Cliente Hgetall: 1

Produzione:

Il campo "Beer: 5" è stato eliminato con successo. Contiamo di nuovo il numero di campi usando il comando hlen.

1
Cliente Hlen: 1

Dato che abbiamo ricevuto solo due campi hash al tasto "Cliente: 1", l'output dovrebbe essere 2.

Produzione:

Si consiglia di utilizzare il comando Hlen quando è necessario contare il numero di campi hash memorizzati in una determinata chiave. È un comando molto veloce e facile da utilizzare nelle tue applicazioni basate su Redis.

Controlliamo anche l'output per la chiave di non esistenza.

1
Ke-key non esistenza

Produzione:

L'output è 0, come previsto.

Conclusione

Redis può archiviare diversi tipi di strutture di dati per una chiave specifica. Gli hash sono una delle strutture di dati più popolari utilizzate nei database Redis. Gli hash possono essere utilizzati per rappresentare e manipolare in modo efficace oggetti e dati semplici. Redis supporta diverse operazioni di hash. L'Hlen può essere utilizzato per contare il numero di campi di hash immagazzinati con una determinata chiave Redis. Di solito, restituisce un numero intero che è il conteggio dei campi di hash. Se la chiave Redis non esiste, tornerà 0. È davvero veloce poiché non abbiamo bisogno di eseguire un'operazione di lettura separata.