重试间隔推送机制之Redis 有序集合

在我们开发过程中,难免需要各种服务的对接,在对接过程中由于网络等其他原因影响可能导致推送数据异常,这时候我们会采取一些重试机制

那么,类似于微信的重试推送机制的实现,如【15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h】,我们可以采用redis有序集合

1、推送失败后,我们需要记录推送失败次数【用于取出下次推送的间隔时间节点】

2、采用Redis有序集合中的 ZADD 命令添加至集合中

ZADD key score value 

示例如下:

ZADD test_key 20200423220628 testvalue

3、采用Redis有序集合中的 ZRANGEBYSCORE 命令取出符合条件的集合,然后通过值去操作推送

ZRANGEBYSCORE key min max limit offset count 

示例如下:

ZRANGEBYSCORE test_key  20200423210628 20200423220628 limit 0 10
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值