重试间隔推送机制之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 //score为当前时间+推送的间隔时间

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

ZRANGEBYSCORE key min max limit offset count

示例如下:

ZRANGEBYSCORE test_key 0 20200423220628 limit 0 10 //范围为0到当前时间

————————————————

版权声明:本文为CSDN博主「Mr.叶落丶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_18191907/article/details/105718644

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 有序集合(sorted set)是在集合(set)的基础上为集合中的每个元素都关联了一个分数,这使得我们不仅可以完...
    gzss阅读 4,114评论 0 2
  • 一、简介 有序集合相对于哈希、列表、集合来说会有一点点陌生,但既然叫有序集合,那么它和集合必然有着联系,它保留了集...
    四月不见阅读 2,958评论 0 0
  • Redis基础数据类型的最后一种常用的数据类型,有序集合能够在日常开发中给我们提供更多的想象空间。在这里,一些示例...
    李小磊_0867阅读 5,321评论 0 4
  • 特点: 按照score排序 member 值不能重复,score可以重复 ZADD key score membe...
    老陈的记事本阅读 3,848评论 0 0
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    余生动听阅读 13,612评论 0 11

友情链接更多精彩内容