当前位置:   article > 正文

Redis延时队列,这次彻底给你整明白了,java数据结构面试常见问题_java redis延时队列

java redis延时队列

3、将请求转移至延时队列,过一会再试;

直接抛出特定类型的异常

===============================================================================

这种方式比较适合由用户直接发起的请求,用户看到错误对话框后,会先阅读对话框的内 容,再点击重试,这样就可以起到人工延时的效果。如果考虑到用户体验,可以由前端的代码 替代用户自己来进行延时重试控制。它本质上是对当前请求的放弃,由用户决定是否重新发起 新的请求。

sleep

=========================================================================

sleep 会阻塞当前的消息处理线程,会导致队列的后续消息处理出现延迟。如果碰撞的比 较频繁或者队列里消息比较多,sleep 可能并不合适。如果因为个别死锁的 key 导致加锁不成 功,线程会彻底堵死,导致后续消息永远得不到及时处理。

延时队列

========================================================================

这种方式比较适合异步消息处理,将当前冲突的请求扔到另一个队列延后处理以避开冲突。

延时队列的实现

===========================================================================

我们可以使用 zset这个命令,用设置好的时间戳作为score进行排序,使用 zadd score1 value1 … 命令就可以一直往内存

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/649516
推荐阅读
相关标签
  

闽ICP备14008679号