• 7.19. 优先阻塞双端队列(Priority Blocking Deque)

    7.19. 优先阻塞双端队列(Priority Blocking Deque)

    基于Redis的分布式无界优先阻塞双端队列(Priority Blocking Deque)Java对象实现了java.util.Deque的接口。addLastaddFirstpush方法不能再这个对里使用。PriorityBlockingDeque的最大容量是4 294 967 295个元素。

    1. RPriorityBlockingDeque<Integer> queue = redisson.getPriorityBlockingDeque("anyQueue");
    2. queue.trySetComparator(new MyComparator()); // 指定对象比较器
    3. queue.add(2);
    4. queue.removeAsync(0);
    5. queue.addAsync(5);
    6. queue.pollFirst();
    7. queue.pollLast();
    8. queue.takeFirst();
    9. queue.takeLast();

    当Redis服务端断线重连以后,或Redis服务端发生主从切换,并重新建立连接后,断线时正在使用pollpollLastAndOfferFirstTotake方法的对象Redisson将自动再次为其订阅相关的话题。