Cómo manejar los accesos a la caché de Redis
Por lo general, cuando usamos el caché, primero verificamos si existe en el caché. Si existe, el contenido del caché se devuelve directamente. Si no existe, se consulta directamente a la base de datos y luego. El resultado de la consulta se almacena en caché y se devuelve. Por ejemplo, como se muestra a continuación.
Fallo de caché: describe la consulta de datos que no existen en la base de datos. Por ejemplo, consultar detalles del producto o consultar ID inexistentes accederá a la base de datos cada vez que alguien la destruya maliciosamente. causar directamente La base de datos está bajo demasiada presión.
Solución: al consultar datos por clave, si los datos correspondientes no existen en la base de datos, estableceremos el valor correspondiente a la clave en el valor predeterminado, como "NULL", y configuraremos el caché tiempo de vencimiento. Luego, la base de datos accederá a todos los accesos a través de esta clave antes de que caduque el caché. El caché bloquea el acceso a la clave hasta que caduque. Más adelante, si los datos correspondientes a esta clave existen en la base de datos, podrá acceder a los datos mediante esta clave y obtener el nuevo valor después de que caduque el caché.
Invalidación de caché: en un entorno de alta concurrencia, si falla el caché correspondiente a una clave, varios procesos consultarán la base de datos al mismo tiempo y luego configurarán el caché al mismo tiempo. En este momento, si la clave es una tecla de acceso rápido en el sistema, o si falla con relativa frecuencia al mismo tiempo, la cantidad de visitas a la base de datos aumentará instantáneamente, lo que generará una presión excesiva.
Solución: escalonar el tiempo de caducidad de la caché de las claves en el sistema de manera uniforme para evitar que la caché correspondiente a una gran cantidad de claves se invalide en un momento unificado.
Rediseñar la forma en que Se utiliza el caché. Cuando consultamos datos a través de la clave, primero consultamos el caché. Si los datos consultados no se pueden encontrar en el caché en este momento, luego desbloqueamos el caché a través del bloqueo distribuido.
Tecla de acceso rápido: describe que el valor correspondiente a ciertas claves en el caché (quizás una aplicación y un artículo promocional) se almacena en una máquina en el clúster, lo que hace que todo el tráfico se dirija a la misma máquina. se convierte en el cuello de botella del sistema y el desafío de este problema es que no se puede resolver aumentando la capacidad de la máquina. El desafío de este problema es que no se puede resolver aumentando la capacidad de la máquina.
Solución: Almacenamiento en caché de teclas de acceso rápido del cliente: almacene en caché el valor correspondiente a la tecla de acceso rápido localmente en el cliente y establezca el tiempo de vencimiento. Para cada solicitud de lectura, primero verificará si la clave existe en el caché local. Si existe, regresará directamente. Si no existe, accederá a la máquina de caché distribuida.
La clave del punto de acceso se distribuye en varias subclaves y luego se almacena en diferentes máquinas en el clúster de caché. Los valores correspondientes de estas subclaves son los mismos que los de la clave del punto de acceso. Cuando los datos se consultan mediante una clave de punto de acceso, se selecciona aleatoriamente una subclave mediante algún algoritmo hash y luego se accede a la máquina de caché para distribuir el punto de acceso entre varias subclaves.
Para obtener más artículos técnicos relacionados con Redis, visite la sección de tutoriales de Redis para obtener más información.