在使用时只需要让处理的元素对象实现Delayed接口, 就可以根据延迟时间实现延迟处理了....Redis Zset
在上述DelayQueue框架的基础上, 使用zset代替PriorityQueue存储, 并用延迟时间作为zset的score项, 很容易就能实现一个分布式的高性能延迟队列....Redis过期事件监听
利用Redis的事件监听机制, 还有另外一种方式实现延迟处理....Redis可以根据需要, 修改redis.conf配置, 实现对一些事件的监听, 其中就包括key过期事件.
redis.conf 配置:
notify-keyspace-events Ex
这个事件监听是通过...PUBSUB 主题:
是指redis的database
__keyevent@__:expired
有了上述事件监听基础, 将延期事件对应key存入Redis, 并根据延迟时间设置key