¿A qué debemos prestar atención en la cola de mensajes de Redis, primero en entrar, primero en salir?
Por lo general, se utiliza una lista para implementar operaciones en cola. Esto tiene una pequeña limitación. Todas las tareas son uniformemente las primeras en entrar. Si desea priorizar una determinada tarea, esto no es fácil de manejar. requiere La cola tiene el concepto de prioridad, por lo que podemos priorizar tareas de alto nivel. Hay varias formas de implementarla:
1) Implementación de lista única: el funcionamiento normal de la cola es de izquierda a derecha. out (lpush, rpop) Para procesar primero las tareas de alta prioridad, cuando encuentre tareas de alto nivel, puede saltar directamente a la cola y colocarlas directamente al principio de la cola (rpush). obtenga la tarea del principio de la cola (a la derecha), lo que obtiene es Las tareas de alta prioridad (rpop) son las más simples, pero sus aplicaciones prácticas son relativamente limitadas.
2) Utilice dos colas, una cola ordinaria y una cola avanzada, y colóquelas en diferentes colas según el nivel de la tarea. También es muy sencillo obtener la tarea BRPOP. Puede realizar pedidos de varias colas para obtener el valor, BRPOP verificará el orden de las claves dadas y mostrará un elemento al final de la primera lista no vacía encontrada, redis> BRPOP lista1 lista2 0, uso recomendado, la mayoría. Adecuado para aplicaciones prácticas.
list1 se usa como cola de tareas de alta prioridad y list2 se usa como cola de tareas normal
De esta manera, las tareas de alta prioridad se procesan primero y cuando no hay Tareas de alta prioridad, se obtienen Tareas ordinarias.