Home  >  Article  >  Backend Development  >  [Lavavel] How does RedisQueue perform queue tasks?

[Lavavel] How does RedisQueue perform queue tasks?

little bottle
little bottleforward
2019-04-20 09:48:162581browse

Using Redis, you can easily implement a task queue. This article is a brief introduction to the execution principle of the queue.

Basic functions of the queue:

 1. Immediate execution; yes
 2. Delayed execution; yes
3. Guaranteed to be executed at least once; yes
4. Must be executed and executed at most once; no

Data structure used:

List, Sorted sets

Delayed execution mechanism:
1. First put the data into queues:queue_000:delayed of SortedSets type
2. When executing pop, execute the lua script, Rpush the executable data in queues:queue_000:delayed of SortedSets type to queues:queue_000 of list type

Mechanism to ensure successful execution:
1. Put the data to be executed The data is first put into queues:queue_000:reserved of type SortedSets
2. When executing pop, execute the lua script and rpush the executable data in queues:queue_000:reserved of type SortedSets to queues:queue_000 of list type Medium
3. The task is executed successfully, and the pre-stored data is deleted from the queues:queue_000:reserved of the SortedSets type

Related tutorials: redis video tutorial

The above is the detailed content of [Lavavel] How does RedisQueue perform queue tasks?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete