Escenarios de la aplicación
Escenarios de la aplicación Redis
Muchos sitios web de comercio electrónico a gran escala y aplicaciones de transmisión de video y juegos requieren un acceso rápido a grandes cantidades de datos que tienen estructuras de datos simples y no necesitan consultas frecuentes de unión. En tales escenarios, puede usar Redis para lograr un acceso rápido pero económico a los datos. Redis le permite recuperar datos de almacenes de datos en memoria en lugar de depender completamente de bases de datos basadas en disco más lentas. Además, ya no es necesario realizar las tareas de gestión adicionales. Estas características hacen de Redis un complemento importante de las bases de datos tradicionales basadas en disco y un servicio básico esencial para las aplicaciones de Internet que reciben acceso de alta simultaneidad.
Los escenarios de aplicación típicos de DCS for Redis son los siguientes:
- Ventas flash de comercio electrónico
El catálogo de productos de comercio electrónico, las ofertas y los datos de ventas flash se pueden almacenar en caché en Redis.
Por ejemplo, el acceso a datos de alta concurrencia en las ventas flash difícilmente puede ser manejado por las bases de datos relacionales tradicionales. Requiere que el hardware tenga una configuración más alta, como E/S de disco. Por el contrario, Redis soporta 100,000 QPS por nodo y le permite implementar el bloqueo usando comandos simples como SET, GET, DEL y RPUSH para manejar ventas flash.
Para obtener más información sobre el bloqueo, consulte Implementación de bloqueos distribuidos con Redis en Prácticas recomendadas.
- Comentarios de vídeo en directo
En la transmisión en vivo, los datos de usuario en línea, clasificación de regalos y comentarios de viñetas se pueden almacenar como conjuntos ordenados en Redis.
Por ejemplo, los comentarios de viñetas se pueden devolver mediante el comando ZREVRANGEBYSCORE. Los commandos ZPOPMAX y ZPOPMIN en Redis 5.0 pueden facilitar adicionalmente el procesamiento de mensajes.
- Tabla de clasificación del juego
En los juegos en línea, los jugadores de mayor clasificación se muestran y se actualizan en tiempo real. La clasificación de la tabla se puede almacenar como conjuntos ordenados, que son fáciles de usar con hasta 20 comandos.
Para obtener más información, consulte Clasificación con Redis en Prácticas recomendadas.
- Comentarios en redes sociales
En las aplicaciones web, las consultas de comentarios de publicaciones a menudo implican ordenar por tiempo en el orden descendente. A medida que los comentarios se acumulan, la clasificación se vuelve menos eficiente.
Mediante el uso de listas en Redis, se puede devolver un número preestablecido de comentarios desde la caché, en lugar de desde el disco, facilitando la carga de la base de datos y acelerando las respuestas de la aplicación.
Escenarios de aplicaciones de Memcached
Memcached es adecuado para almacenar datos simples clave-valor.
- Páginas web
El almacenamiento en caché de datos estáticos como páginas HTML, Cascading Style Sheets (CSS) e imágenes en instancias de DCS Memcached mejora el rendimiento de acceso de las páginas web.
- Base de datos de frontend
En sistemas dinámicos como redes sociales y sitios de blogs, las operaciones de escritura son mucho menos que las operaciones de lectura, como consultar a usuarios, amigos y artículos. Para facilitar la carga de la base de datos y mejorar el rendimiento, los siguientes datos se pueden almacenar en caché en Memcached:
- Datos de acceso frecuente que no requieren actualizaciones en tiempo real y pueden caducar automáticamente
Ejemplo: últimas listas de artículos y clasificaciones. Aunque los datos se generan constantemente, su impacto en la experiencia del usuario es limitado. Tales datos pueden almacenarse en caché durante un periodo de tiempo preestablecido y accederse desde la base de datos después de este periodo. Si los editores de páginas web desean ver la clasificación más reciente, se puede configurar una política de borrado o actualización de caché.
- Datos de acceso frecuente que requieren actualizaciones en tiempo real
Ejemplo: listas de amigos, listas de artículos y registros de lectura. Tales datos pueden almacenarse en caché en Memcached primero y, a continuación, actualizarse siempre que se produzcan cambios (agregar, modificar y eliminar datos).
- Datos de acceso frecuente que no requieren actualizaciones en tiempo real y pueden caducar automáticamente
- Ventas flash
Es difícil para las bases de datos tradicionales escribir una operación de colocación de pedidos durante las ventas flash en la base de datos, modificar los datos de inventario y garantizar la coherencia de las transacciones mientras se garantiza la experiencia del usuario ininterrumpida.
Los comandos incr y decr de Memcached se pueden usar para almacenar información de inventario y completar la colocación de pedidos en memoria. Una vez que se envía un pedido, se genera un número de pedido. Entonces, el pedido puede ser pagado.
Escenarios en los que Memcached no es adecuado:
- El tamaño de un único objeto de caché es superior a 1 MB.
Memcached no puede almacenar en caché un objeto de más de 1 MB. En tales casos, utilice Redis.
- La clave contiene más de 250 caracteres.
Para usar Memcached en tal escenario, puede generar un hash MD5 para la clave y almacenar en caché el hash en su lugar.
- Se requiere una alta fiabilidad de los datos.
Memcached de código abierto no proporciona replicación, backup y migración de datos, por lo que la persistencia de datos no es compatible.
Las instancias Principal/En standby DCS Memcached soportan persistencia de datos. Para obtener más información, póngase en contacto con el soporte técnico.
- Se requieren estructuras y procesamiento de datos complejos.
Memcached solo admite los pares simples de clave-valor, y no admite estructuras de datos complejas como listas y conjuntos, ni operaciones complejas como la ordenación.