Redisson 3.28.0 现已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。
此版本更新内容如下:
Feature
- Multi Sentinel 模式实现
- 通过 effecient partitioning 和 advanced entry eviction 实现 RLocalCachedMapCacheV2 对象
- quarkus 的 graceful shutdown
Improvement
RLongAdder
和RDoubleAddder
应尽可能使用 sharded topic- 通过
ClusterConnectionManager.getLastPartitonsByURI()
方法减少 CPU 和内存消耗 RedisURI.hashCode()
缓存可减少 CPU 消耗-
在
RTopic.removeListener()
方法中添加 shutdown check
Fixed
- 错误检测 sharded pubsub 支持
RBatch
不能与 RKeys.randomKeyAsync() 方法一起工作- 集群模式下未解析的 Redis 节点主机名会影响集群拓扑扫描
- 如果
readMode = MASTER_SLAVE
,则不使用MASTER
节点 RLock
、RFencedLock
、RReadWriteLock
会错过 unlock messages ,并在下一次尝试或挂起前等待 defined timeout- 如果使用同一个 Redisson 对象的多个 Adder 实例,
RLongAdder
.sum()
和RDoubleAddder.
sum()
方法的值不正确的问题 CountDownLatch.await()
方法可能会抛出 NPE- RExecutorService、RLock、RPermitExpirableSemaphore、RSemaphore 对象中的 ExecutionException 处理问题
- 如果 readMode = MEMORY,RedissonSession 保存方法会抛出
ConcurrentModificationException
- Spring Data Redis zPopMin() 和 zPopMax() 方法不起作用的问题。
更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.28.0