¿Cuáles son los usos de redis?
Escenarios de uso de redis
● Generación de tokens
● Código de verificación
● Lista de clasificación
● Mensaje Cola
La estructura de datos de la lista en Redis es una lista doblemente enlazada, que es muy fácil de usar con colas de mensajes (modelo productor/consumidor). El productor del mensaje solo necesita colocar el mensaje en la lista a través de lpush, mientras que el consumidor puede obtener el mensaje a través de rpop, asegurando así el orden del mensaje. Si desea implementar una cola de prioridad, también puede elegir un conjunto ordenado. La funcionalidad de publicación/suscripción también se puede utilizar para mensajes en un modelo de editor/suscriptor. No importa cómo lo uses, no tienes que preocuparte por perder mensajes debido a una falla del servidor porque Redis es duradero. (Recomendado: videotutorial de Redis)
Si tiene altos requisitos de coherencia de datos, debe utilizar un sistema especializado como RocketMQ.
Dado que redis agrega el elemento de retorno al primer lugar en la cola al agregar datos a la cola, se puede juzgar si el usuario accede a este negocio por primera vez
La cola No solo las solicitudes concurrentes se pueden convertir en solicitudes en serie, sino que también se pueden usar como colas o pilas.
Bloqueos distribuidos
Para verificar las solicitudes repetidas en el front-end, puede filtrarlas. a través de redis
El segundo sistema, basado en la función de subproceso único de redis, evita que la base de datos se "liquide"
Generación de ID incremental global, similar a "segundos"
Contador
Aplicaciones como contar clics, etc. Dado que es de un solo subproceso, evita problemas de concurrencia, no contiene errores y tiene un rendimiento de 100 milisegundos.
La función de conteo debería ser uno de los escenarios de aplicación más adecuados para Redis, porque sus características de lectura y escritura de alta frecuencia pueden aprovechar al máximo la eficiencia de Redis como base de datos en memoria. Entre las estructuras de datos de Redis, las cadenas, los hashes y los conjuntos ordenados proporcionan el método incr para operaciones de incremento atómico.
Ejemplo:
Si la aplicación necesita mostrar el número de usuarios registrados por día, puede usar una cadena como contador, establecer una clave llamada REGISTERED_COUNT_TODAY y configurarla durante la inicialización. Establezca la hora de vencimiento en 0:00 a. m., luego use el comando incr para incrementar la clave en 1 cada vez que un usuario se registra. Cada vez que un usuario se registre, utilice el comando incr para incrementar la clave en 1. Después de las 0:00 a. m. todos los días, el contador se pondrá a cero porque la clave ha caducado.
Cada Weibo tiene cuatro atributos: número de me gusta, número de comentarios, número de reenvíos y número de visualizaciones, por lo que lo mejor es utilizar valores hash para contar. Establezca la clave del contador en weibo: weibo_id, y los campos del valor hash son like_number, comment_number, forward_number y comment_number, forward_number y view_number. Después de la operación correspondiente, los campos en el valor hash se incrementan en hincrby.
Si la aplicación tiene una lista de clasificación de publicaciones, seleccione un conjunto ordenado, establezca la clave del conjunto en POST_RANK y luego use zincrby para incrementar la puntuación de la identificación del usuario en 1 cuando el usuario publica. El conjunto ordenado se reordenará y la posición del usuario en la tabla de clasificación se actualizará en tiempo real.