redis带有权重的任务管理

业务场景(sorted_set类型应用场景)

任务/消息权重设定应用

当任务或者消息待处理,形成了任务队列或消息队列时,对于高优先级的任务要保障对其优先处理,如何实现任务权重管理。

解决方案

  • 对于带有权重的任务,优先处理权重高的任务,采用score记录权重即可


多条件任务权重设定

如果权重条件过多时需要对排序的score值进行处理,保障score值能够兼容2条件或者多条件,例如外贸订单优先于国内订单,总裁订单优先于员工订单,经理订单优先于员工订单

  • 因score长度受限,需要对数据进行截断处理,尤其是时间设置为小时或分钟即可(折算后)
  • 先设定订单类别,后设定订单发起角色类别,整体score长度必须是统一的,不足位补0.第一排序规则首位不得是0
    • 例如外贸101,国内102,经理004,员工008
    • 员工下的外贸单score值为101008(优先)
    • 经理下的国内单score值为102004
posted @ 2020-02-16 08:48  if年少有为  阅读(1458)  评论(0编辑  收藏  举报