Redis Queue如何执行队列任务

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。redis提供五种数据类型:string,hash,list,set及zset(sorted set)。

利用Redis可以很方便的实现一个任务队列。

队列的基本功能:

1、立即执行;yes

2、延迟执行;yes

3、保证至少执行一次;yes

4、必须执行且最多执行一次;no

用到的数据结构:

list、Sorted sets

延迟执行的机制:

1、先把数据放入SortedSets类型的queues:queue_000:delayed中

2、在执行pop的时候,执行lua脚本,把SortedSets类型的queues:queue_000:delayed 中可以执行的数据rpush到list类型的queues:queue_000中

保证执行成功的机制:

1、把要执行的数据先放入SortedSets类型的queues:queue_000:reserved中

2、在执行pop的时候,执行lua脚本,把SortedSets类型的queues:queue_000:reserved 中可以执行的数据rpush到list类型的queues:queue_000中
3、任务执行成功,从SortedSets类型的queues:queue_000:reserved中执行删除预存的数据

赞(0)
声明:本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-62778877-8306;邮箱:fanjiao@west.cn。本站原创内容未经允许不得转载,或转载时需注明出处:西部数码知识库 » Redis Queue如何执行队列任务

登录

找回密码

注册