redisson队列唯一元素

zc0qhyus  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(374)

这是我用来使用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 如果它已经在队列中。
有什么建议吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题