Redis Hincrby

Redis Hincrby

Manipulación de hash redis

Redis hash se puede identificar como una estructura de datos de par de valores de campo. Esto se puede almacenar en una tecla Redis especificada como se muestra en la siguiente ilustración:

Por lo general, los valores de campo hash pueden almacenar datos de cadena, entero y flotación. Una de las operaciones atómicas que podemos realizar en los hashes es el incremento o la disminución de los valores enteros asignados a un campo hash dado.

El comando Hincrby se usa para realizar el incremento/disminución de un valor entero. En las siguientes secciones, discutiremos más sobre el uso práctico del comando Hincrby hash.

El comando hincrby

Sintaxis:
Hincrby redis_key hash_field_name increment_by_value

Redis_key: La tecla de nivel superior de la tienda Redis

hash_field_name: El identificador único del campo hash

increment_by_value: El valor entero del argumento incremento

El valor de retorno del comando hincrby es un entero. Es el valor del campo hash después de que se haya realizado la operación. El increment_by_value El argumento respalda los enteros firmados de 64 bits que permiten el paso de números positivos y negativos.

Cuando el campo hash dado no existe

Digamos que tenemos una llave de hash redis Usuario: 001 con un campo llamado identificación. El valor del identificación el campo es 10. Si intentamos incrementar el valor hash por 5 para una clave no existente edad, Redis creará un nuevo campo edad y asignar su valor a 5.

Cuando la tecla Redis especificada no existe

Suponga que pasamos la clave como Usuario: 002 al comando hincrby con el campo edad y el valor de incremento de 10. Desde el Usuario: 002 La clave no está disponible en la tienda Redis, creará una nueva clave Usuario: 002 con un campo de edad. El valor del campo de edad será 10 cuál es el valor de argumento de incremento aprobado.

Uso práctico

Hay muchos casos de uso del mundo real del comando Hincrby hash:

  • Visite contadores en aplicaciones web
  • Nueva asignación de ID de usuario
  • Bloqueando múltiples intentos de inicio de sesión
  • Rastrear el uso y el estado de facturación
  • Actualizar unidades de carrito de compras

La principal ventaja de la operación de Hincrby es que no necesita una operación de lectura explícita para actualizar el valor hash. Puede actualizar directamente el valor hash de la tienda de Redis. Esto hace que las operaciones sean muy rápidas.

Ejemplo 01 - Capturar el uso y el costo por usuario

Supongamos que necesitamos almacenar los datos de uso y costos por usuario en un sistema determinado. Por lo tanto, identificaremos a cada usuario con una tecla Redis. El uso y el costo serán los campos hash para esa clave Redis en particular.

Usuario de HMSet: 001 Uso 50 Costo 1500

Podemos usar el comando hmset hash para establecer los múltiples campos para el hash.

Verifiquemos si el usuario: 001 hash se almacena correctamente en el almacén de datos.

HGGELAL USUARIO: 001

Producción:

Suponga que el usuario usó otras 10 unidades de recursos dentro del sistema y costaría otros 500 dólares. Ahora, podemos usar fácilmente el comando Hincrby hash para actualizar los datos para Usuario: 001.

Usuario de Hincrby: 001 Uso 10
Usuario de Hincrby: 001 Costo 500

Producción:

Verifiquemos al usuario: 001 valores hash.

HGGELAL USUARIO: 001

Producción:

Ejemplo 02: disminución del recuento de unidades en el carrito de compras

En los carros de compras, siempre necesitamos realizar las operaciones de disminución en el recuento de elementos cuando el usuario elimina un elemento. Almacemos el artículo cuenta para el Usuario: 002.

Usuario de hmset: 002 itemA 10 itemB 5

En este caso, asignamos itema y itemb cuentan como 10 y 5, respectivamente. Verifiquemos al usuario: 002 datos.

HGGEALL USUARIO: 002

Producción:

Supongamos que el Usuario: 002 elimina 2 itemas y 5 itembs. El comando Hincrby se puede utilizar para realizar esta operación de disminución al pasar -2 y -5 enteros como argumentos de incremento.

Usuario de Hincrby: 002 itemA -2
Usuario de Hincrby: 002 itemb -5 -5

Producción:

El comando Hincrby es poderoso y eficiente donde se pueden realizar tanto las operaciones de incremento como de disminución utilizando el mismo comando con un argumento de incremento firmado. Este comando tiene complejidad de tiempo constante. Por lo tanto, es realmente rápido realizar las operaciones de incremento/disminución de los hashes.

Conclusión

Redis puede almacenar diferentes tipos de estructuras de datos para una clave específica. Los hashes son una de las estructuras de datos más populares utilizadas en las bases de datos Redis. Los hash se pueden usar para representar y manipular objetos y datos simples de manera efectiva. Redis admite varias operaciones hash. Hincrby es uno de los comandos populares para incrementar y disminuir los valores enteros para un campo hash determinado. Admite los enteros firmados de 64 bits como valor de incremento. Por lo tanto, tanto las operaciones de incremento como de disminución se pueden realizar utilizando el mismo comando.