En Redis Cache Cache avalancha penetración caché desglose

En nuestro desarrollo diario, que implica altos requerimientos de concurrencia relacionados con la gran cantidad de datos, a menudo necesidad de utilizar Redis como caché, pero el caché puede producir avalanchas, caché, avería caché y otras cuestiones, un ejemplo sencillo que aquí hablo y la razón en la pregunta penetrante soluciones.

caché de avalancha

Si abría una nueva página web, el primer día algunas personas vienen visita, también estoy muy feliz, pero no hice caso de un caso, ha visitado hoy el establecimiento de un fallo de caché casi al mismo tiempo, y la gente en el futuro será más accesible, en este punto, una gran cantidad de peticiones a la base de datos tendrá un impacto en todo lo anterior, la base de datos puede fallar debido a oso y el tiempo de inactividad.
Cuando el reinicio del servidor caché o un gran número de caché concentrados en un período de tiempo de falla, la caché se llama una avalancha.

soluciones

  1. clave diferente, para establecer un diferente tiempo de expiración . Por ejemplo después de que el tiempo de expiración predeterminado plus 0-10 minutos valor aleatorio , para evitar el fracaso colectivo.

  2. Establecer caché secundaria , la fecha de caducidad del doble. Si la notificación de caducidad de caché inicial desencadena otro hilo en el fondo para actualizar el caché real, y vuelve en el caché secundario de los datos de edad.

  3. cálida datos . Antes de la implementación formal de delante los datos relevantes directamente cargado en la memoria caché, en la línea después de una tarea programada para refrescar.

desglose caché

Asumo que el sitio tiene una gran estrella escribió Bowen, mucha gente viene aquí sólo para verlo cuando está relacionado con la memoria caché expira el momento,
puede haber una gran cantidad de peticiones a la base de datos.
datos caliente individual es alta en el momento de expiración de acceso concurrente, la caché se llama una avería.

soluciones

  1. Conjunto de datos caliente nunca caduca.
  2. Después de un fallo de caché, mediante la adición de un mutex para controlar el número de hilos de leer base de datos de caché de escritura. Cuando un hilo se encuentra el fracaso clave, vaya a la cerradura mientras que el valor de la base de datos, la base de datos no será accesible cuando otros hilos en espera de leer, pero, aquí, el bloqueo se debe establecer el tiempo de expiración, o en caso de que el valor de hilo de colgar bloqueado de forma permanente.

la penetración de la caché

Si no ha configurado un servidor de seguridad, los hackers utilizan herramientas tales como datos de petición razonable cartero como id = -1, no puede haber ningún tipo de cachés de datos, cada una por el importe de la base de datos, y en constante ataque causará una presión excesiva en la base de datos, incluso derrotar a la base de datos.
correspondiente a los datos clave no existe, la petición a la base de datos de derivación de la caché, la memoria caché se llama penetración.

soluciones

  1. Configurar el servidor de servidor de seguridad , gestión y supervisión de la conducta ilegal con un gran número de acceso IP. Diferentes ineficaces IP.
  2. Aumento de la capa de interfaz de suma de comprobación . Por ejemplo la comprobación de autenticación de usuario, parámetros de calibración, los parámetros de filtro no son válidos.
  3. Base de datos no llegar, esto sigue siendo un resultado vacío caché, un corto tiempo, el valor se establece en cero, la desventaja es probable que almacenar en caché una gran cantidad de valores nulos, también afectará a la consistencia de los datos.
  4. filtro Bloom . El hash de todos los datos posibles a un mapa de bits suficientemente grandes, son posible determinar visualmente si un poco diferente si existen los datos, si hay un 0, sin duda, no tiene acceso directo a la base de datos no vuelve. La desventaja es que cuando la cantidad total de datos es grande, un filtro de Bloom será muy largo, lo que no es el absolutamente exacta, es posible y todo el otro bit de datos es un caso en el que no existe los datos.

resumen

"Un pie en cuenta que" por supuesto también podemos aprovechar las características de alta disponibilidad construyó Redis racimos , o cuando el aumento de tráfico, surgen los problemas de servicio, con el fin de garantizar los servicios básicos son los servicios todavía disponibles, no esenciales para volver algún incumplimiento valor o consejos, permitiendo a los usuarios para actualizar de nuevo.

Publicado cinco artículos originales · ganado elogios 0 · Vistas 74

Supongo que te gusta

Origin blog.csdn.net/jy615183000/article/details/105345293
Recomendado
Clasificación