preguntas de la entrevista de redis (resumen)

  1. ¿Qué es Redis? Describa brevemente sus principales características y usos.

    Redis (Remote Dictionary Server) es un sistema de almacenamiento de datos en memoria de código abierto. Sus características principales incluyen operaciones rápidas de lectura y escritura, soporte para múltiples estructuras de datos, soporte de persistencia, estrategia de caducidad de datos y modelo de publicación-suscripción. Redis se usa comúnmente en aplicaciones como almacenamiento en caché, almacenamiento de sesiones, estadísticas en tiempo real y colas de mensajes.

  2. ¿Cuál es el método de almacenamiento de datos de Redis? ¿Qué estructuras de datos admite?

    Redis utiliza un método de almacenamiento de datos de par clave-valor (clave-valor), donde la clave es un identificador único asociado con el valor. Redis admite las siguientes estructuras de datos principales:

    • Cadena
    • tabla hash (hash)
    • Lista
    • Colocar
    • Conjunto ordenado
    • mapa de bits
    • HyperLogLog
  3. ¿Cuál es la diferencia entre Redis y las bases de datos tradicionales?

    Las diferencias entre Redis y las bases de datos tradicionales incluyen:

    • Método de almacenamiento: Redis se basa en el almacenamiento en memoria, mientras que las bases de datos tradicionales suelen basarse en disco.
    • Modelo de datos: Redis admite una variedad de estructuras de datos, mientras que las bases de datos tradicionales utilizan tablas y esquemas.
    • Persistencia: Redis proporciona soporte de persistencia, pero los datos generalmente se almacenan en la memoria, mientras que los datos de la base de datos tradicional persisten en el disco.
    • Lenguaje de consulta: Redis no tiene un lenguaje de consulta SQL y solo proporciona comandos básicos de operación de datos.
    • Propósito: Redis se utiliza principalmente para el almacenamiento en caché y el procesamiento de datos en tiempo real, mientras que las bases de datos tradicionales se utilizan para el almacenamiento de datos persistente.
  4. ¿Cómo configurar claves y valores en Redis? Por favor proporcione ejemplos.

    Los pares clave-valor se pueden SETconfigurar mediante comandos, por ejemplo:

    sqlCopy code
    SET mykey "Hello, Redis!"
    

    Esto creará una clave nombrada en Redis mykeyy "Hello, Redis!"le asociará el valor de la cadena.

  5. ¿Cuál es la política de caducidad de datos de Redis? ¿Qué estrategias están disponibles?

    La política de caducidad de datos de Redis se utiliza para eliminar automáticamente las claves caducadas. Las principales estrategias de vencimiento incluyen:

    • Eliminación programada (TTL): cada clave puede tener un tiempo de supervivencia establecido y, una vez que expire el tiempo, la clave se eliminará automáticamente.
    • Eliminación diferida: Redis elimina una clave caducada cuando intenta acceder a ella.
    • Eliminación periódica: Redis escanea periódicamente las claves caducadas y las elimina. Este proceso no ocurre todo el tiempo, sino que se realiza según demanda.
  6. ¿Cómo se implementa la persistencia de Redis? ¿Cuáles son las dos principales formas de persistencia que tiene?

    La persistencia de Redis se logra escribiendo datos en el disco. Hay dos formas principales de persistencia:

    • Creación de instantáneas: Redis escribe periódicamente instantáneas de datos en la memoria en el disco para crear copias de seguridad de datos punto a punto (archivos RDB).
    • Agregar registro (archivo de solo agregar, AOF): Redis agrega cada operación de escritura a un archivo de registro para registrar las operaciones de modificación de datos. Durante la recuperación, Redis puede volver a realizar estas operaciones para restaurar los datos.
  7. Explique el tipo de datos String y las operaciones relacionadas en Redis.

    Las cadenas de Redis son pares clave-valor simples que pueden almacenar texto o datos binarios. Las operaciones comunes en cadenas incluyen:

    • SET key value: establece el valor de la clave.
    • GET key: Obtenga el valor de la clave.
    • INCR key: Incrementa el valor de la clave.
    • DECR key: Disminuye el valor de la clave.
    • APPEND key value:Agregue el valor al valor de la clave.
    • MSET key1 value1 key2 value2 ...: establece varios pares clave-valor en lotes.
  8. ¿Cómo almacenar y operar tablas hash (Hash) en Redis?

    Una tabla hash es una colección de pares clave-valor, donde cada clave corresponde a un valor, similar a una matriz asociativa. Las operaciones de tablas hash en Redis incluyen:

    • HSET key field value: establece el valor del campo especificado en la tabla hash.
    • HGET key field: obtiene el valor del campo especificado en la tabla hash.
    • HDEL key field1 field2 ...: elimina uno o más campos de la tabla hash.
    • HGETALL key: Obtiene todos los campos y valores de la tabla hash.
    • HMSET key field1 value1 field2 value2 ...: establece los valores de varios campos en lotes.
  9. ¿Cómo funcionan las listas en Redis? Dé un ejemplo para ilustrar su uso.

    Una lista de Redis es una colección ordenada de elementos de cadena que admite operaciones de inserción y eliminación en ambos extremos de la lista. Las operaciones de lista comunes incluyen:

    • LPUSH key value: Agrega un valor al lado izquierdo de la lista.
    • RPUSH key value: Agrega el valor al lado derecho de la lista.
    • LPOP key: Elimina y devuelve un valor del lado izquierdo de la lista.
    • RPOP key: Elimina del lado derecho de la lista y devuelve un valor.
    • LRANGE key start stop: obtiene los elementos en el rango especificado en la lista.
  10. ¿Qué son los conjuntos y los conjuntos ordenados? ¿Cual es la diferencia?

    Un conjunto es un conjunto único de elementos desordenados, mientras que un conjunto ordenado es un conjunto único de elementos, cada uno de los cuales está asociado con una puntuación. La diferencia es que los conjuntos no están ordenados, mientras que los conjuntos ordenados se clasifican según las puntuaciones. Las operaciones comunes incluyen:

    • Colección: SADD, SREM, SMEMBERSetc.
    • Conjunto ordenado: ZADD, ZREM, ZRANGE, ZSCOREetc.
  11. ¿Cómo utilizar el tipo de datos Bitmap de Redis?

    Un mapa de bits de Redis es una cadena especial en la que cada carácter representa un bit binario. Los mapas de bits se utilizan a menudo para registrar el estado de conexión del usuario, el tiempo de actividad, etc. Las operaciones comunes incluyen:

    • SETBIT key offset value: establece el bit en el desplazamiento especificado en el mapa de bits al valor especificado (0 o 1).
    • GETBIT key offset: obtiene el valor del bit en el desplazamiento especificado en el mapa de bits.
    • BITCOUNT key: Cuenta el número de bits con un valor de 1 en el mapa de bits.
    • BITOP operation destkey key1 key2 ...: realiza operaciones de bits en múltiples mapas de bits.
  12. ¿Qué es HyperLogLog? ¿Para qué sirve en Redis?

    HyperLogLog es una estructura de datos que se utiliza para estimar la cardinalidad (el número de elementos únicos). En Redis, HyperLogLog se puede utilizar para estimar la cantidad de elementos únicos en una colección sin almacenar cada elemento. Las operaciones comunes incluyen:

    • PFADD key element1 element2 ...: Agregue elementos a HyperLogLog.
    • PFCOUNT key: Calcule la cantidad de elementos únicos en HyperLogLog.
  13. ¿Cómo mejorar el rendimiento de Redis? Enumere varias sugerencias para optimizar el rendimiento.

    Las recomendaciones para mejorar el rendimiento de Redis incluyen:

    • Utilice hardware de alto rendimiento, como SSD, CPU rápidas y mucha memoria.
    • Configure políticas adecuadas de uso de memoria y caducidad de datos.
    • Utilice el clúster de Redis para distribuir la carga.
    • Utilice la agrupación de conexiones para reducir la sobrecarga de conexión.
    • Uso razonable de mecanismos de persistencia, como AOF y RDB.
  14. ¿Cuáles son las estrategias de eliminación de memoria para Redis? Explique la política LRU (usada menos recientemente).

    Las estrategias de eliminación de memoria de Redis incluyen:

    • LRU (Usado Menos Recientemente): Elimina las claves a las que se ha accedido menos recientemente. Redis mantiene una lista de LRU aproximada, pero no es completamente precisa.
  15. ¿Qué es el clúster de Redis? ¿Cómo mejora la disponibilidad y el rendimiento?

    El clúster de Redis es un sistema distribuido de múltiples instancias de Redis que se utiliza para mejorar la disponibilidad y el rendimiento. Fragmenta los datos en varios nodos, siendo cada nodo responsable de una parte de los datos, lo que proporciona escalabilidad horizontal y tolerancia a fallos.

  16. ¿Cómo evitar conflictos clave en Redis?

    Para evitar conflictos clave, puede tomar las siguientes medidas:

    • Utilice nombres clave únicos y significativos.
    • Utilice prefijos de espacios de nombres para diferenciar entre diferentes conjuntos de datos.
    • Utilice estructuras de datos como tablas hash (Hash) para almacenar datos complejos en lugar de almacenar todos los datos en claves de nivel superior.
  17. ¿Qué es el modelo de publicación y suscripción (Pub/Sub) de Redis? Por favor explique su propósito.

    El modelo de publicación y suscripción de Redis es un modelo de mensajería que se utiliza para lograr el desacoplamiento entre los editores de mensajes y los suscriptores. El editor envía un mensaje al canal y todos los suscriptores del canal reciben el mensaje. Se utiliza para implementar funciones como colas de mensajes y notificaciones en tiempo real.

  18. ¿Cómo implementar transacciones en Redis? ¿Cómo se garantiza su atomicidad?

    Las transacciones de Redis permiten ejecutar un conjunto de comandos secuencialmente en una ejecución sin ser interferidos por operaciones de otros clientes. La atomicidad se garantiza a través de los comandos MULTI, EXEC y DISCARD. Los comandos de la transacción se ejecutarán en orden. Si la transacción no se ejecuta, se revertirá.

  19. ¿Cómo maneja Redis el acceso concurrente y las condiciones de carrera? Analice el bloqueo optimista y el comando WATCH.

    La forma en que Redis maneja el acceso simultáneo y las condiciones de carrera incluye bloqueo optimista y comandos WATCH. El comando WATCH se utiliza para monitorear múltiples claves. Si alguna de las claves monitoreadas se modifica durante la ejecución de la transacción, la transacción fallará. El bloqueo optimista utiliza números de versión o marcas de tiempo para evitar condiciones de carrera y detectar si otros clientes han modificado los datos.

  20. ¿Qué es el script Lua y cómo utilizarlo en Redis?

    El script Lua es un script ejecutado en Redis que puede implementar operaciones complejas. Utilice el comando EVAL en Redis para ejecutar scripts Lua. El script puede acceder a datos y comandos de Redis y es atómico.

  21. ¿Cómo configurar la replicación maestro-esclavo (Replicación) en Redis?

    Para configurar la replicación maestro-esclavo de Redis, debe especificar información como roles, direcciones de nodo maestro y puertos en los archivos de configuración del nodo maestro y los nodos esclavos. El nodo maestro copiará datos al nodo esclavo para lograr la copia de seguridad de los datos y el equilibrio de carga de lectura.

Supongo que te gusta

Origin blog.csdn.net/LSW1737554365/article/details/132860018
Recomendado
Clasificación