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中执行删除预存的数据
魔云微型服务器加硬盘怎么使用云服务器挂游戏php中字符串与字符替换用什么函数网站空间zxhost西维数码买了云服务器怎么用网站续费忘记了!-虚拟主机/数据库问题云服务器怎么把数据导出来你知道域名和网站的区别吗?