Latest web development tutorials

partición Redis

Partición se divide en una pluralidad de instancias de proceso de datos Redis, cada instancia para salvar sólo un subconjunto de la clave.

Beneficios de la partición

  • Mediante el uso de la memoria y los valores de más de un ordenador, nos permite construir una base de datos más grande.
  • Por varios núcleos y varios ordenadores, que nos permite ampliar la capacidad de computación, a través de múltiples computadoras y adaptadores de red, que nos permite ampliar el ancho de banda de red.

partición inadecuada

Algunas características Redis en el rendimiento de partición no es muy buena:

  • Operación implica generalmente no se admite más de una clave. Por ejemplo, cuando el sistema de dos asigna a diferentes instancias de Redis, usted no será capaz de realizar estos dos hoja de ruta estándar intersección.
  • Se trata de un número de clave de operación redis no se puede utilizar.
  • Al usar particiones, el procesamiento de datos más complejos, por ejemplo, tiene que manejar múltiples RDB / AOF archivos y los archivos de copia de seguridad de varias instancias de persistencia y de acogida.
  • Añadir o eliminar capacidad también es más complicado. Redis clúster apoyo mayoritario en incrementos de tiempo de ejecución, los datos transparentes eliminar nodos de equilibrio de poder, pero similar a la partición de clientes, agentes y otros sistemas no son compatibles con esta función. Sin embargo, esta técnica llamada presharding es útil.

El tipo de partición

Redis Hay dos tipos de particiones. Supongamos que hay cuatro Redis ejemplo R0, R1, R2, R3 y usuario similar: 1, el usuario: una pluralidad de tecla 2 una representación como en los usuarios, dado la clave para seleccionar una variedad de diferentes formas en que la clave se almacena en la instancia . En otras palabras, existen diferentes sistemas para asignar una clave a un servicio Redis.

particionamiento gama

La forma más fácil es dividir gama de partición se asigna a una gama de ejemplo Redis-tema específico.

Por ejemplo, el ID de 0 a 10000 usuarios almacena la instancia R0, ID desde 10001-20000 usuarios se guardará en R1, y así sucesivamente.

Este enfoque es factible y uso práctico, es tener un intervalo de menos que el rango de la instancia de tabla de asignación. Esta tabla se va a gestionar, pero también es necesario para mapear diversos objetos, por lo general Redis no es un buen método.

La partición de hash

Otro enfoque es para discutir las particiones de partición. Esto se aplica a cualquier tecla, y no necesita ser object_name: Esta forma, tan simple como se describe a continuación:

  • El uso de una tecla de función hash se convierte en un número, como el uso de la función de hash CRC32. La implementación de crc32 foobar clave (foobar) emite un número entero de 93.024.922 similares.
  • Este módulo entero, que se convirtió en digital entre 0-3, se puede corresponder con el número entero ejemplo 4 Redis ser uno. 93024922% 4 = 2, que es foobar clave debe ser guardado en instancia R2. Nota: La operación de módulo es tomar el resto de la adición, el operador% se implementa normalmente usando una variedad de lenguajes de programación.