Manipolazione hash di Redis
Redis Hash può essere identificato come una struttura dei dati della coppia di valore di campo. Questo può essere memorizzato con una chiave Redis specificata come mostrato nella seguente illustrazione:
Di solito, i valori del campo hash possono archiviare i dati di stringa, intero e galleggiante. Una delle operazioni atomiche che possiamo eseguire su hash è l'incremento o il decremento dei valori interi assegnati a un determinato campo di hash.
Il comando hincrby viene utilizzato per eseguire l'incremento/decremento di un valore intero. Nelle sezioni seguenti, discuteremo di più sull'uso pratico del comando Hincrby Hash.
Il comando hincrby
Sintassi:
Hincrby Redis_key hash_field_name increment_by_value
Redis_key: La chiave di alto livello del Redis Store
hash_field_name: L'identificatore univoco del campo hash
increment_by_value: Il valore intero dell'argomento dell'incremento
Il valore di ritorno del comando hincrby è un numero intero. È il valore del campo hash dopo che l'operazione è stata eseguita. IL increment_by_value L'argomento supporta i numeri interi firmati a 64 bit che consentono il passaggio di numeri sia positivi che negativi.
Quando il campo hash dato non esiste
Diciamo che abbiamo una chiave di hash Redis Utente: 001 con un campo chiamato id. Il valore del id Il campo è 10. Se proviamo ad aumentare il valore di hash di 5 per una chiave inesistente età, Redis creerà un nuovo campo età e assegnare il suo valore a 5.
Quando la chiave Redis specificata non esiste
Supponiamo che passiamo la chiave come Utente: 002 al comando hincrby con il campo età e il valore di incremento di 10. Dal Utente: 002 La chiave non è disponibile nel Redis Store, creerà una nuova chiave Utente: 002 Con un campo di età. Il valore del campo dell'età sarà 10 che è il valore dell'argomento dell'incremento passato.
Uso pratico
Esistono molti casi d'uso nel mondo reale del comando Hincrby Hash:
Il vantaggio principale dell'operazione di Hincrby è che non ha bisogno di un'operazione di lettura esplicita per aggiornare il valore hash. Puoi aggiornare direttamente il valore hash del negozio Redis. Questo rende le operazioni davvero veloci.
Esempio 01 - Acquisizione dell'utilizzo e del costo per utente
Supponiamo che dobbiamo archiviare i dati di utilizzo e costo per utente in un determinato sistema. Quindi, identificheremo ogni utente con una chiave Redis. L'uso e il costo saranno i campi di hash per quella particolare chiave Redis.
Utente HMSET: 001 Utilizzo 50 Costo 1500
Possiamo usare il comando HMSET Hash per impostare i più campi per l'hash.
Controlliamo se l'utente: 001 hash è memorizzato correttamente nel negozio di dati.
Utente Hgetall: 001
Produzione:
Supponiamo che l'utente abbia utilizzato altre 10 unità di risorse all'interno del sistema e costerebbe altri 500 dollari. Ora possiamo facilmente utilizzare il comando Hincrby Hash per aggiornare i dati per Utente: 001.
Utente hincrby: 001 Utilizzo 10
Utente hincrby: 001 Costo 500
Produzione:
Controlliamo l'utente: 001 valori hash.
Utente Hgetall: 001
Produzione:
Esempio 02 - Decremento del conteggio delle unità nel carrello
Nei carrelli della spesa, dobbiamo sempre eseguire le operazioni di decremento sul conteggio degli articoli quando l'utente rimuove un articolo. Archiviamo i conteggi degli articoli per il Utente: 002.
Utente HMSET: 002 ItemA 10 Itemb 5
In questo caso, abbiamo assegnato rispettivamente ite e itemb come 10 e 5. Controlliamo l'utente: 002 Dati.
Utente Hgetall: 002
Produzione:
Supponiamo che il Utente: 002 Rimuove 2 articoli e 5 articoli. Il comando hincrby può essere utilizzato per eseguire questa operazione di decremento passando tra i numeri interi -2 e -5 come argomenti di incremento.
Utente Hincrby: 002 ItemA -2
Utente Hincrby: 002 Itemb -5
Produzione:
Il comando hincrby è potente ed efficiente in cui entrambe le operazioni di incremento e decremento possono essere eseguite utilizzando lo stesso comando con un argomento di incremento firmato. Questo comando ha una costante complessità del tempo. Quindi, è davvero veloce eseguire le operazioni di incremento/decremento su hash.
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. Hincrby è uno dei comandi popolari per incrementare e ridurre i valori interi per un determinato campo hash. Supporta i numeri interi firmati a 64 bit come valore di incremento. Quindi, sia le operazioni di incremento che decremento possono essere eseguite utilizzando lo stesso comando.