redisson 应用(二)

Map

RMap<String, SomeObject> map = redisson.getMap("anyMap");
SomeObject prevObject = map.put("123", new SomeObject());
SomeObject currentObject = map.putIfAbsent("323", new SomeObject());
SomeObject obj = map.remove("123");

Set

List

Queue

Delayed Queue

延时队列可以实现一些需要延时处理的数据存储,比如延时发送邮件等.

RBlockingQueue<String> blockingQueue = redisson.getBlockingQueue("blockingQueue");
        RDelayedQueue<String> delayedQueue = redisson.getDelayedQueue(blockingQueue);
        delayedQueue.offer("msg1", 10, TimeUnit.SECONDS);
        delayedQueue.offer("msg2", 1, TimeUnit.MINUTES);

        try {
            String msg1 = blockingQueue.poll(15, TimeUnit.SECONDS);
            LOGGER.debug("msg is {}", msg1);
            String msg2 = blockingQueue.poll(2, TimeUnit.SECONDS);
            LOGGER.debug("msg is {}", msg2);
        }catch (InterruptedException e) {
            e.printStackTrace();
        }

Priority Queue 优先队列

Stream 流

Ring Buffer 有限缓冲区

缓存区满了,之后前面的数据将被丢弃

TransferQueue

这个队列的offer方法会阻塞生产者直到有消费者消费了数据。同时提供了tryOffer方法和可以超时的tryOffer。

Time Series 时间序列

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容