En la entrevista de 2021, se me pidió que redistribuyera las preguntas de la entrevista con respuestas.

  1. ¿Por qué usas redis?
    Respuesta: Hola, entrevistador. Nuestra base de datos utiliza principalmente MySQL. El desarrollo comercial actual está diseñado para incluir la deducción de inventario en escenarios de alta concurrencia, visitas pico a la página de inicio del sitio web, etc. La base de datos ya no puede admitir una concurrencia tan alta, por lo que Se introdujo el middleware de almacenamiento en caché, estamos usando el middleware redis y memcached en el mercado. Hice una comparación entre reids y memcached durante el uso:
    1) En comparación con memcached, redis tiene más estructuras de datos y admite operaciones de datos más ricas. Así como nuestra empresa diseña estructuras y operaciones complejas, elegimos redis
  1. Se hace una comparación en términos de eficiencia en el uso de la memoria. Memcached tiene una tasa de utilización de memoria más alta si solo se usa el almacenamiento de valores clave, pero redis usa una estructura hash para el almacenamiento de valores clave. Debido a su compresión combinada, la tasa de utilización de la memoria es aumentado. Más alto que memcached
  2. En términos de rendimiento, redis solo usa un único núcleo, mientras que memcached puede usar múltiples núcleos, por lo que, en promedio, redis en cada núcleo tiene un rendimiento más alto que memcached cuando se almacenan datos pequeños.
    En el proceso de uso, a veces está diseñado para superar los 100K de datos. En este momento, el rendimiento de redis es ligeramente inferior al de memcached.
    3) En términos de soporte de persistencia de datos, redis proporciona dos estrategias de persistencia, a saber, instantánea RDB y registros AOF. y Memcached no admite operaciones de persistencia de datos.
    Así que elegimos redis de manera integral.
  1. ¿Qué tipos de datos tiene redis?
    Respuesta: Con respecto a los tipos de datos de redis, conozco algunos: cadena de cadena, hash de diccionario, lista de lista, conjunto de conjunto, conjunto ordenado SortedSet, porque la empresa implica una alta concurrencia, por lo que también me he puesto en contacto con Bloom Filtro y RediSearch que admite la búsqueda de texto completo, etc.

  2. ¿Cómo redis logra la persistencia?
    Respuesta: Hay dos formas de persistencia: RDB y AOF. RDB refleja la persistencia total y AOF hace la persistencia incremental. Nuestra empresa generalmente usa RDB y AOF juntos. Cuando se reinicia la instancia de redis, el archivo persistente RDB se usará para reconstruir la memoria, y el AOF se usará para reproducir las instrucciones de operación recientes para restaurar el estado antes del reinicio.
    Por supuesto, el mecanismo de reids es cargar el archivo AOF primero cuando AOF está activado y hay un archivo AOF. Cuando AOF está cerrado o el archivo AOF no existe, cargue el archivo RDB.
    No abra AOF cuando hay mucho tráfico. Abra RDB.
    Si el servidor pierde energía repentinamente, puede usar AOF para recuperarse. El registro de AOF tiene una configuración de atributo de sincronización. En escenarios de alto rendimiento, use sincronización de tiempo, como 1s1 tiempo , de modo que incluso si se corta la energía, la pérdida máxima es 1 s. Los datos.

  3. ¿Cómo se hace el clúster de redis?
    Respuesta: Hay varios tipos de clústeres de redis con los que me he puesto en contacto:
    1) Modo maestro-esclavo, un maestro con varios esclavos. Aunque el qps de una sola máquina Redis puede alcanzar los 10W +, todavía no es suficiente en algunos escenarios de alto acceso. Generalmente, la separación de lectura y escritura se usa para aumentar los esclavos y reducir la presión del host.
    Este método requiere que los usuarios desarrollen la función de conmutación maestro-esclavo por sí mismos, es decir, utilicen centinelas para detectar el estado de salud de cada instancia y luego cambien el estado del clúster mediante instrucciones. Cuando el tamaño del clúster aumenta, se puede agregar una función de notificación activa similar a zk para reducir los riesgos. Generalmente, se pueden mantener miles de nodos redis.
    2) Modo proxy, como codis, la capa de proxy se simula a sí misma como un redis, acepta solicitudes de clientes y luego realiza la fragmentación y migración de datos de acuerdo con la lógica de enrutamiento personalizada.
    Se agrega la capa de proxy, que tiene una cierta pérdida de rendimiento. Varios proxies utilizan lvs para el equilibrio de carga.
    3) El clúster de Redis es una solución de bio-clúster proporcionada por la comunidad. La solución oficial recomendada actual se caracteriza principalmente por la descentralización y no requieren un proxy proxy. El objetivo principal es implementar Data Sharding, que también puede implementar HA.
    El clúster de redis adopta el concepto de ranuras hash. El clúster preasignará 16384 ranuras y asignará estas ranuras a nodos de servicio específicos. La operación CRC16 (KEY)% 16384 se realiza en la clave para obtener la ranura correspondiente, a fin de leer y escribir La operación se reenvía al nodo de servicio correspondiente a la ranura. Cuando se une un nuevo nodo o un lugar, estas ranuras y los datos correspondientes se migrarán nuevamente. Expansión y contracción dinámicas más convenientes.

  4. ¿Cuáles son los escenarios de aplicación de redis?
    1) Almacenar objetos de tipo json
    2) Tablas de clasificación, contadores
    3) Me gusta del video de Youku
    4) Me gusta en el círculo de amigos
    5) Almacenamiento en caché de la sesión,
    etc.

  5. ¿Cuál es la capacidad máxima que puede almacenar un valor de cadena?
    512M (datos oficiales del sitio web)
    continúa actualizando una gran cantidad de preguntas de entrevistas de operación y mantenimiento, lo que dificulta que más personas encuentren trabajos de operación y mantenimiento.

Supongo que te gusta

Origin blog.csdn.net/qq_39418469/article/details/114588074
Recomendado
Clasificación