Redis problema de caché

Redis se utiliza para admitir el almacenamiento en caché. ¿Qué problemas de almacenamiento en caché tiene?

1. Problemas de consistencia

Los datos en sistemas distribuidos generalmente son débilmente consistentes, o eventualmente consistentes. Debido al principio CAP, en términos de consistencia, disponibilidad y tolerancia de partición, un sistema distribuido aún puede proporcionar servicios que cumplan con la consistencia o disponibilidad cuando se encuentre con un nodo o una falla de partición de red ) Solo se pueden seleccionar dos de los tres. Dado que el sistema distribuido debe tener tolerancia a fallas de partición, solo la consistencia y la disponibilidad son opcionales. El segundo beneficio es lo primero, por lo que solo puede sacrificar la consistencia.

La forma de abordar el problema de coherencia de la memoria caché de Redis es adoptar estrategias apropiadas para reducir la probabilidad de inconsistencia de datos entre la memoria caché y la base de datos, incluida la estrategia de actualización de memoria caché adecuada, actualizar la memoria caché a tiempo después de actualizar la base de datos y aumentar el mecanismo de reintento cuando la memoria caché falla. Pero no hay garantía de una fuerte consistencia entre los dos. Si los requisitos del proyecto para el almacenamiento en caché son muy consistentes, no utilice el almacenamiento en caché.

2. Avalancha de Redis

Si todas las CLAVES fallan juntas, todas las solicitudes caerán instantáneamente en la base de datos, y la base de datos inevitablemente no podrá soportarla. La única forma es reiniciar la base de datos, pero después del reinicio, todas las solicitudes seguirán cayendo juntas en la base de datos, matándola nuevamente.

La estrategia es establecer diferentes tiempos de vencimiento para diferentes CLAVES, o distribuir diferentes claves a diferentes servidores.

3. Redis penetración de caché

Solicitar datos que no existen en la base de datos en absoluto. Si no existe en la base de datos, entonces ciertamente no existe en redis. Sin embargo, el mundo exterior o los piratas informáticos continúan solicitando uno tras otro, y los ataques continuos causan que la base de datos esté bajo una gran presión y la destruirá seriamente.

Estrategias de afrontamiento:
1) Agregue verificación en la capa de interfaz, como autenticación de usuario, verificación de parámetros y verificación ilegal directamente devuelta, como id para verificación básica, id <= 0 para interceptar directamente.
2) Aplique el filtro Bloom, si los datos no existen en la base de datos, regrese directamente

4. Desglose de caché de Redis

Se refiere a una clave muy activa, llevando una gran cantidad de solicitudes sin parar, gran acceso concurrente a este punto, cuando la clave falla, la gran concurrencia continua cae directamente en la base de datos, justo en el punto de esta clave Pinchó el caché. La penetración de la caché es similar a la avalancha, pero por diferentes razones. La avalancha es un área grande de falla de caché, y la penetración de caché es una solicitud continua de datos.

Estrategia: establezca que los datos del punto de acceso nunca caduquen o agregue un bloqueo de exclusión mutua.

Artículo de referencia: la
colección más completa de tecnología Redis en la historia humana, no mire la serie de arrepentimiento de toda la vida

1134 artículos originales publicados · 354 elogiados · 3.49 millones de visitas

Supongo que te gusta

Origin blog.csdn.net/leftfist/article/details/105185305
Recomendado
Clasificación