Datos de tipo hash de Redis

1. Introducción

  • Nuevos requisitos de almacenamiento, agrupan una serie de datos almacenados para facilitar la aplicación de la información del objeto de almacenamiento
  • La estructura de almacenamiento requerida, un espacio de almacenamiento almacena varios datos de pares clave-valor
  • Tipo de hash: la capa inferior utiliza la estructura de la tabla hash para lograr el almacenamiento de datos Inserte la descripción de la imagen aquí

2. Operación básica

  • Operación de datos únicos
  1. Agregar y modificar datos
hset key field value
  1. recuperar datos
hget key field
hgetall key
  1. borrar datos
hdel key field ....

Inserte la descripción de la imagen aquí

  • Varias operaciones de datos
  1. Agregar y modificar varios datos
hmget key field1 value1 field2 value2 .....
  1. Obtener múltiples datos
hmget key field1 fiedl1
  1. Obtenga la posición del campo en la tabla hash
hlen key
  1. Obtener si el campo especificado existe en la tabla hash
hexists key field 

Inserte la descripción de la imagen aquí

Tres, operación extendida

  • Obtenga todos los nombres de campo o valores de campo en la tabla hash
hkeys key 
hvals key

Inserte la descripción de la imagen aquí

  • Establecer los datos numéricos del campo especificado para aumentar el valor del rango especificado
hincrby key field increment
hincrbyfloat key field increment

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Cuatro, asuntos que necesitan atención:

  • El valor del valor bajo el tipo hash solo puede almacenar cadenas y no se permiten otros tipos de datos. No hay fenómeno de anidamiento. Si no se obtienen los datos, el valor correspondiente es nulo.

  • Cada hash puede almacenar 2 ^ 32-1 pares clave-valor

  • El tipo de hash está muy cerca de la forma de almacenamiento de datos del objeto y puede agregar y eliminar atributos de objeto de manera flexible, pero la intención original del diseño de hash no está diseñada para almacenar una gran cantidad de objetos. No se puede usar de forma indiscriminada, y mucho menos use hash como lista de objetos.

  • La operación hgetall puede obtener todos los atributos. Si hay demasiados campos internos, la eficiencia de atravesar los datos generales será muy baja, lo que puede convertirse en un cuello de botella en el acceso a los datos.

Cinco escenarios de aplicación

  • Escenario empresarial: implementación del carrito de compras del sitio web de comercio electrónico

Inserte la descripción de la imagen aquí

  • Análisis comercial:
    • Modelo de almacenamiento: agregar, cambiar, modificar, vaciar
    • Cambios temporales en el carrito de compras: modificación y actualización de datos comerciales, envío de datos por parte del usuario
    • Mecanismo de almacenamiento para usuarios no registrados

Opcion uno:

Solución de caso:

  • La identificación de usuario se utiliza como valor clave para crear información para cada cliente y almacenarla en un hash.
  • Valor de la cantidad de compra
  • Agregar producto, agregar nuevos campos y valor
  • Operación de exploración: hgetall
  • Cambiar operación: hset, cambiar el valor correspondiente
  • Eliminar operación: el valor del campo correspondiente al valor clave correspondiente a hdel
  • Operación vacía: eliminar directamente según el valor de la clave

Inserte la descripción de la imagen aquí
Desventajas: solo almacenar datos en la caché de redis no acelera la función

Opción 2: usar almacenamiento json

  • Mantenga cada registro de producto del carrito de compras en dos campos
  • field1: Conserve la cantidad de compra
    • Identificación del producto: cantidad (números)
  • field2: Mantenga la información mostrada en el carrito de compras (descripción del documento y otra información relacionada)
    • ID de producto: información de descripción (msg)

Determine la repetibilidad de los datos json

hsetnx key field value

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

  • Escenario empresarial: realización de la función de pedido (Redis se utiliza para compras instantáneas, lista de compra limitada, cupón de lanzamiento limitado, código de activación y otros diseños de almacenamiento de datos comerciales)
    • Utilice la identificación del comerciante como clave
    • Utilice la identificación del producto que participa en el pánico como campo
    • Tome el número de productos que participan en la fiebre como el valor correspondiente
    • Utilice la devaluación para controlar la cantidad de productos al comprar

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_44763595/article/details/110733096
Recomendado
Clasificación