Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué Redis tiene un alto rendimiento?

¿Por qué Redis tiene un alto rendimiento?

(1)Redis es una memoria no relacional. Los datos de la base de datos se almacenan en la memoria y las lecturas de la memoria son muy rápidas. Si se trata simplemente de valores clave simples, la memoria no es el cuello de botella. En general, las búsquedas de hash se pueden realizar del orden de millones de veces por segundo.

(2) Utilice un solo hilo para evitar cambios de contexto y condiciones de carrera innecesarios.

(3) La implementación interna utiliza epoll y utiliza el marco de eventos simple implementado por el propio epoll. Leer, escribir, cerrar y conectarse en epoll se convierten en eventos, y luego usamos la función de reutilización de epoll para no perder nunca el tiempo en io.

Lectura ampliada

Redis es una base de datos de valores clave de código abierto escrita en lenguaje ANSI C. Es compatible con la red, puede basarse en memoria, puede persistir y proporciona API. múltiples idiomas. A partir del 10 de marzo de 2015, VMware aloja el desarrollo de Redis. Desde mayo de 2013, el desarrollo de Redis está patrocinado por Pivotal.

Redis es un sistema de almacenamiento clave-valor. Al igual que Memcached, admite más tipos de valores de almacenamiento, incluida cadena (cadena), lista (lista vinculada), conjunto (conjunto), zset (conjunto ordenado - conjunto ordenado) y hash (tipo hash). Estos tipos de datos admiten push/pop, add/remove, la intersección de conjuntos de unión y diferencia, y operaciones más ricas, y todas estas operaciones son atómicas. Sobre esta base, Redis admite múltiples formas de clasificación. Al igual que Memcached, los datos se almacenan en caché en la memoria para garantizar la eficiencia. La diferencia es que Redis escribirá periódicamente datos actualizados en el disco o modificará los archivos de registro adjuntos y logrará la sincronización maestro-esclavo sobre esta base.

Redis es una base de datos clave-valor de alto rendimiento. La aparición de Redis ha compensado en gran medida las deficiencias del almacenamiento de claves/valores como Memcached, y puede desempeñar un muy buen papel complementario a las bases de datos relacionales en algunas situaciones. Proporciona clientes para Java, C/C, C#, PHP, JavaScript, Perl, Object-C, Python, Ruby, Erlang, etc. Es muy cómodo de usar.

Redis admite la sincronización maestro-esclavo. Los datos se pueden sincronizar desde el maestro a cualquier número de esclavos, que pueden ser maestros asociados con otros esclavos. Esto permite a Redis realizar una replicación de árbol de un solo nivel. Guardar puede escribir datos de forma intencionada o no. Debido a que el mecanismo de publicación/suscripción está completamente implementado, cuando la base de datos esclava sincroniza el árbol en cualquier lugar, puede suscribirse a un canal y recibir el registro de publicación de mensajes completo del servidor maestro. La sincronización es muy útil para la escalabilidad y la redundancia de datos de las operaciones de lectura.

La dirección del sitio web oficial de redis es muy fácil de recordar, es redis.io (verifiqué específicamente y descubrí que el sufijo del nombre de dominio io pertenece al nombre de dominio nacional, que es el indio británico Territorio Oceánico, es decir, el Territorio Británico del Océano Índico).

Actualmente, Vmware está financiando el desarrollo y mantenimiento del proyecto redis.

Para obtener más artículos técnicos relacionados con Redis, visite la columna de tutoriales de Redis para obtener más información.