Redisson 队列唯一元素

问题描述

这是我用来使用 Redisson 调度一些对象的类:

@AllArgsConstructor
public class SchedulingService {
    private final RQueue<MyObject> queue;
    private final RDelayedQueue<MyObject> delayedQueue;

    public void schedule(MyObject myObject) {
        queue.offer(myObject);
    }

    public void schedule(MyObject myObject,Duration delay) {
        delayedQueue.offer(myObject,delay.toMillis(),MILLISECONDS);
    }

    public Optional<MyObject> poll() {
        return Optional.ofNullable(queue.poll());
    }
}

这就是我配置它的方式:

TypedJsonJacksonCodec codec = new TypedJsonJacksonCodec(MyObject.class);
RQueue<DownloadRequest> queue = redisson.getQueue("myQueue",codec);
RDelayedQueue<DownloadRequest> delayedQueue = redisson.getDelayedQueue(queue);
return new SchedulingService(queue,delayedQueue);

有没有办法阻止 RQueueRDelayedQueue 接受重复的条目?如果它已经在队列中,我不想将相同的 myObject 排队。

有什么建议吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)