Maison  >  Article  >  développement back-end  >  [Lavavel] Comment RedisQueue effectue-t-il les tâches de file d'attente ?

[Lavavel] Comment RedisQueue effectue-t-il les tâches de file d'attente ?

little bottle
little bottleavant
2019-04-20 09:48:162623parcourir

En utilisant Redis, vous pouvez facilement implémenter une file d'attente de tâches. Cet article est une brève introduction au principe d'exécution de la file d'attente.

Fonctions de base de la file d'attente :

 Exécution immédiate oui
 2. Exécution différée oui 3. Garanti d'être exécuté au moins une fois ; oui
 4. Doit être exécuté et exécuté au plus une fois ; non

Structure de données utilisée :

liste ; , Ensembles triés

Mécanisme d'exécution différée : 1. Mettez d'abord les données dans queues:queue_000:delayed de type SortedSets
2. Lors de l'exécution de pop, exécutez le script lua , rpoussez les données exécutables dans queues:queue_000:delayed de type SortedSets vers queues:queue_000 de type liste

Mécanisme pour assurer une exécution réussie : 1. Mettez les données à exécuter Les données sont d'abord mises dans queues:queue_000:reserved de type SortedSets
2. Lors de l'exécution de pop, exécutez le script lua et poussez les données exécutables dans queues:queue_000:reserved de type SortedSets vers queues:queue_000 de type liste Medium
3. La tâche est exécutée avec succès et les données pré-stockées sont supprimées des files d'attente:queue_000:reserved de type SortedSets

Tutoriels associés :

tutoriel vidéo redis

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer