Redisson 3.9.1 和 2.14.1 已发布,Redisson 是架设在 Redis 基础上的一个 Java 驻内存数据网格(In-Memory Data Grid)。
Redisson
在基于 NIO 的 Netty 框架上,充分利用了 Redis 键值数据库提供的一系列优势,在 Java
实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机多线程并发程序的工具包获得了协调分布式多机多线程并发系统的能力,大大降低了设计和研发大规模分布式系统的难度。同时结合各富特色的分布式服务,更进一步简化了分布式环境中程序相互之间的协作。
Feature - takeFirstElements and takeLastElements streaming methods added to RBlockingDequeRx
Feature - RBlockingQueueRx.takeElements streaming method added
Feature - RTopicRx.getMessages streaming method added
Feature - async methods for listener removal added to RTopic object
Feature - RxJava2 method call cancellation support added
Feature - RObject.getSizeInMemory method added
Feature - RTopic.countListeners method added
Feature - takeFirstElements and takeLastElements added to RScoredSortedSetReactive and RScoredSortedSetRxobjects
Feature - takeFirst and takeLast methods added to RScoredSortedSet object
Feature - readGroup method variations added to RStream object
Feature - remove, trim, fastClaim, removeGroup, removeConsumer, updateGroupMessageId methods added to RStream object
Improvement - JCache performance optimization up to 2x times
Improvement - Redis url validation
Fixed - Exception serialization by Jackson codec
Fixed - DNS channels aren't pooled
Fixed - RStream commands don't work with Redis 5.0.1 version
Fixed - task scheduled with cron pattern isn't executed with single worker
Fixed - Spring Boot Starter doesn't convert properly list of sentinel addresses
Fixed - RTopic and all objects based on it stop work properly if Subscribe timeout occured
Fixed - JDK 1.6 compatibility for 2.x version
Fixed - IPv6 addresses format support for Sentinel mode (thanks to Mikhail Surin)
Fixed - null value handling for Spring Boot Starter's timeoutValue setting (Thanks to junwu215177)
Fixed - OOM during RLocalCachedMap.fastPut method invocation and Reference based EvictionPolicy is used
Fixed - exception in CommandDecoder while using PubSub with ping
Fixed - RTopic.removeAllListeners invocation leads to PubSub connections leak
Fixed - all methods of RSemaphoreRx and RAtomicDoubleRx objects should return Flowable object
Fixed - Redisson.createRx method should return RedissonRxClient