Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo implementar el almacenamiento en caché de la base de datos de Redis (redis implementa el proceso de almacenamiento en caché)

Cómo implementar el almacenamiento en caché de la base de datos de Redis (redis implementa el proceso de almacenamiento en caché)

Existen aproximadamente dos estándares de medición:

Primero, sincronización de scripts:

1. Escriba su propio script para escribir datos de la base de datos en redis/memcached.

2. Esto implica la cuestión de los cambios en los datos en tiempo real (análisis en tiempo real de mysqlrowbinlog), la suscripción incremental de binlog al canal Alibaba y la recuperación de la sincronización de datos después de la pérdida/invalidación de datos de la capa de caché.

2. Implementación de la capa empresarial:

1. Primero lea la capa de caché nosql, luego lea la capa mysql si no hay datos y escriba los datos en nosql.

2. La capa nosql completa la distribución de múltiples nodos (hashing consistente), soluciones alternativas después de una falla del nodo (hashing de múltiples capas para encontrar nodos alternativos adyacentes) y recuperación de choque de datos.

Análisis de la implementación de Redis del almacenamiento en caché de la base de datos:

Para datos que cambian muy rápidamente, si se utilizan métodos tradicionales de almacenamiento en caché estático (Memocached, FileSystem, etc.), aún se seleccionarán para mostrar los datos Puede ser que la sobrecarga de acceso al caché sea muy alta y no pueda satisfacer bien la demanda. Las bases de datos NoSQL basadas en memoria, como Redis, son muy adecuadas como contenedores para datos en tiempo real.

Sin embargo, a menudo se requiere confiabilidad de los datos. El uso de MySQL como almacenamiento de datos no causará pérdida de datos debido a problemas de memoria. Al mismo tiempo, se pueden lograr muchas funciones utilizando las características de las bases de datos relacionales. Por tanto, es natural pensar si MySQL se puede utilizar como motor de almacenamiento de datos y Redis como caché.

La solución de replicación de datos de MySQL a Redis, ya sea MySQL o Redis, tiene su propio mecanismo de sincronización de datos. El modo maestro/esclavo MySQL comúnmente utilizado se implementa en el lado esclavo analizando el binlog del maestro. Esta replicación de datos es en realidad un proceso asincrónico, pero cuando todos los servidores están en la misma intranet, el retraso asincrónico es casi insignificante. En teoría, también puedes analizar el archivo binlog de MySQL e insertar datos en Redis usando el mismo método.

Así que aquí tienes una forma con menores costes de desarrollo. Tomando prestado el MySQLUDF maduro, primero coloque los datos de MySQL en Gearman y luego sincronice los datos con Redis a través de PHPGearmanWorker escrito por usted mismo. En comparación con el método de análisis binlog, agrega muchos procesos, pero el costo es menor y la operación es más simple.