Redis de estrategias de almacenamiento y almacenamiento en caché

A. Redis

    Redis es un código abierto (licencia BSD), la estructura de datos almacenada en el sistema de memoria que puede ser utilizado como una base de datos, caché y middleware de mensajería .
Dirección funcionario chino: http://www.redis.cn/

 

Redis soporta cinco tipos de datos: String (cadena), de hash (hash), lista (lista), conjunto (colección) y zConfigurar (conjunto ordenado: una colección ordenada)

Cadena (String)

cadena es Redis tipo más básico, puede ser entendida como la Memcached tipo exactamente lo mismo, una clave que corresponde a un valor .

cadena de tipo binario es seguro. Es decir, redis de cadena puede contener ningún dato. Tales como jpg imágenes o objeto serializado.

cadena tipo es Redis tipos de datos básicos, de cadena tipos pueden almacenar el valor máximo de 512 MB .

Hash (hash)

Redis de hash es una clave (clave => valor) pares.

Redis de hash es una cadena de tipo de campo y el valor de la tabla de asignación, el hash es particularmente adecuado para el almacenamiento de objetos.

Lista (lista)

Redis lista es una simple lista de cadenas, para la ordenación por inserción. Se puede añadir un elemento a la cabeza de la lista (a la izquierda) o de las colas (a la derecha)

El SET (colección)

Redis del conjunto es de cadena tipo de colección desordenada.

Colección se logra a través de una tabla hash, por lo que añadir, borrar, buscar la complejidad es O (1) .

sadd comando

Añadir una cadena de elemento a una tecla correspondiente al conjunto de colección, exitoso regreso 1 si el elemento ha sido devuelto en la colección 0

zConfigurar (ordenadas según el SET : colección ordenada )

Redis zConfigurar y establecer los mismos también cadena de tipos de colección de elementos , y no permitir que los miembros duplicados.

La diferencia está asociada con cada elemento será un doble tipo de puntuación. Redis es de pequeño a grande orden de colección de calificación aprobatoria miembro.

zConfigurar miembro es única , pero la puntuación (score) , pero se puede repetir

II. almacenamiento Redis

    Redis ofrece dos métodos de almacenamiento: RDB  y AOF de

    RDB es para escribir datos en un archivo temporal, después de la persistente, reemplazar el archivo anterior con el archivo temporal, para lograr la recuperación de datos

    AOF instrucción se ejecuta para grabar, con el fin de restaurar los datos de adelante hacia atrás y luego pasar a las instrucciones que se ejecutan de recuperación de datos.

    RDB de almacenamiento es el almacenamiento predeterminado, un número pequeño, no importa si hay concurrencia, los datos se no se pierden, la mejor seguridad, mínimo espacio ocupado. AOF de manera distribuida, puede hacer frente a un gran número de datos de procesamiento de los problemas, pero todavía habrá pérdida de datos

 

III. Redis estrategia de eliminación de caché


( 1 ) volátil-la LRU : el tiempo de expiración conjunto de la fase de selección conjunto de datos de los datos menos recientemente utilizada.

( 2 ) volátil-TTL : a partir de un tiempo de expiración conjunto de la selección del conjunto de datos de expirar datos eliminados.

( . 3 ) volátil aleatorios : establecer el tiempo de expiración a partir de los datos establecidos de datos seleccionados arbitrariamente.

( 4 ) volátil-LFU : elegir a partir de un tiempo de expiración conjunto del conjunto de datos para utilizar los datos de frecuencia más baja eliminado.

( 5 ) AllKeys la LRU- : datos de la fase de selección conjunto de datos a cabo el usado menos recientemente

( 6 ) AllKeys-LFU : recoger a partir del conjunto de datos para utilizar los datos de frecuencia más bajas eliminados.

( . 7 ) AllKeys-aleatoria : A partir del conjunto de datos ( server.db [I] .dict datos de selección fuera) cualquier

( 8 ) NO-enviction (expulsión): prohíbe los datos de expulsión, que es la política predeterminada. Cuando los medios de memoria es insuficiente para dar cabida a los nuevos datos, se le dará la nueva operación de escritura, la solicitud podrá proceder tarea de línea no se puede continuar utilizando la no-enviction política puede garantizar que los datos no se pierdan.

Estos ocho se puede dividir en 4 en, la LRU , LFU , Random , ttl

mecanismo de eliminación


( 1 ) método pasivo ( de forma pasiva ), cuando se accede a la clave principal, si se comprueba que ha fallado, entonces eliminarlo. Redis en la realización de GET , MGET , HGET , LRANGE cuando se trata de todos los comandos tales como datos de lectura llamarán expireIfNeeded , lo que significa que existe antes de leer los datos para comprobar que no ha fallado, si no logra eliminarlo.
expireIfNeeded otra función función de llamada propagateExpire , esta función se utiliza en la clave principal no válido de eliminación oficial, y decirle al resto de la emisión, hay dos destinos: AOF de archivos, esta operación se eliminarán fracaso de la clave principal para DEL Clave grabación en formato de comandos estándar abajo, y el otro es enviado a la corriente Redis todos los servidores esclavos , el mismo fallo se eliminará la clave principal para esta operación dEL llave formato de comando estándar para informar al esclavo quitar la clave principal de cada fracaso.
( 2 ) método positivo ( la forma activa) Periódicamente para detectar, encontrar el fallo de eliminar. Desventaja del enfoque negativo es que si la llave se accede retraso, que se llevará una gran cantidad de espacio de memoria, por lo que sólo de una manera positiva.

( 3 ) tomar la iniciativa para eliminar: Cuando la memoria de más de maxmemory límite de tiempo, lo que provocó la iniciativa de limpiar la política, que está determinada por los parámetros de la configuración de inicio

La cantidad de datos de

Ya que está fuera de los datos, entonces el número apropiado de ella?

 

Con el fin de evitar la estrategia de eliminación de gatillo frecuente, cada uno eliminar un lote de datos, el tamaño de los datos del hecho y para determinar el tamaño de la sustitución, si el volumen de datos de sustitución, sin duda más que eliminado

Supongo que te gusta

Origin www.cnblogs.com/bob-zb/p/12583195.html
Recomendado
Clasificación