Lock Distributed Redis

Lock Distributed Redis

En Redis, la partición se refiere a dividir los datos en múltiples instancias. Esto significa que cada redis contiene una sección de todo su conjunto de datos. Es una característica útil, especialmente cuando se trata de grandes conjuntos de datos.

Veamos varios tipos de partición en Redis y el costo y los beneficios de cada uno.

Tipos de partición redis

Hay dos mecanismos de partición en Redis:

  1. División de rango
  2. Partición hash

Partición de sonar

La mejor manera de explicar la partición es usar una analogía. Suponga que tiene cuatro instancias de Redis: R0, R1, R2 y R3. Además, suponga que tiene que almacenar claves en el formato del usuario: [ID].

Puede usar la partición de rango para dividir los datos en las instancias de Redis disponibles.

En la partición de rango, asigna una sección de sus datos en una instancia específica. Por ejemplo, puede tomar las claves del usuario: [ID - ID] y asignarlo a la instancia R0. La instancia R1 puede contener el subconjunto de claves del usuario [ID - ID] y así sucesivamente.

Esta es la forma de partición más simple y aplicable en Redis. Sin embargo, proporciona una limitación.

La partición de rango requiere una tabla que asigne un rango específico a su clúster correspondiente.

La tabla de mapeo requiere ser gestionada y aplicada para cada tipo de datos dividido.

Partición hash

La segunda alternativa a la partición de rango es la partición hash. Redis utiliza una función de hash para convertir una clave en un número en este método de partición.

Por ejemplo, si tenemos un "hecho" clave, podemos convertirlo en un número usando una función de hash como CRC-16.

Esto debería devolver el número como 8167.

Redis luego aplica una operación de módulo al número y devuelve el resultado de 0 a 3.

Por ejemplo:

8167 % 2

La operación anterior debe devolver 1. Redis luego usa este valor para determinar en qué clúster se debe almacenar la clave. En nuestro ejemplo, el "hecho" clave se almacena en la instancia r1.

NOTA: Así no es como se realiza la operación de hash en Redis. Lo anterior es solo una analogía.

Ventajas de partición.

  1. La partición permite múltiples instancias para compartir la memoria y almacenar datos.
  2. Permitir la escala de la potencia de cálculo.

Desventajas de la partición

  1. La operación multi-llave no es compatible.
  2. No puede realizar una transacción Redis usando múltiples teclas.
  3. Introduce ambigüedad cuando se trata de persistencia.
  4. La reducción o el crecimiento de los datos son difíciles.

Conclusión

En esta guía, descubriste los diversos mecanismo para la partición de redis. Consulte la documentación para obtener más información.