Redisson 3.47.0 现已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。
此版本更新内容如下:
Feature
- 添加了ReliableFanout对象
- 添加了 processingMode 设置到
RReliableQueue
配置 - 添加了监听器到
RReliableQueue
对象 - 添加了 metrics 到
RReliableQueue
对象 - 添加了
disableOperation()
和enableOperation()
方法到RReliableQueue
对象 - 添加了
get()
和getAll()
方法到RReliableQueue
对象 - 为 Spring Cloud Stream Binder 添加
pollBatchSize
、visibilityTimeout
和negativeAcknowledgeDelay
消费者设置 RReliableQueue
实现RDestroyable
接口- 为 RScoredSortedSet 添加
readDiffEntries()
、readIntersectionEntries()
、readUnionEntries()
方法 - 添
valkeyCapabilities
设置加
Improvement
- 如果 useScriptCache = true,则脚本记录错误消息
RReliableQueue
数据结构优化
Fixed
- 如果
storeMode = LOCALCACHE
,RClusteredLocalCachedMap.fastPut() 方法结果会导致 netty buffer leak RReliableQueue.size()
方法的结果不应包括延迟信息量- Spring Cache.getNativeCache() 返回不正确的实例
- 修复了 RClusteredLocalCachedMap和RClusteredLocalCachedMapCache在“reconnectionStrategy = LOAD”时创建过多连接的问题。
- 修复了 RSetCache 的 readUnion()、readIntersection()、readDiff() 方法抛出异常的问题
- 在 Sentinel 模式下故障转移后,每次写操作都会打开新连接
- Micronaut 4.x 仅连接到单个节点
- RedisURI(String) constructor 未设置 hashCode
- Spring Data Redis
addMessageListener()
方法在向同一主题或模式添加多个监听器时挂起的问题 - 检测
WAIT
和WAITAOF
命令的可用性 - 当调用 closeCache() 时,JCacheManager 不会从 map 中移除缓存实例
- JCacheManager 在调用 closeCache() 时不会从映射中删除缓存实例
- pub/sub 连接不足可能导致内存泄漏
RMap.loadAll()
方法可能在 Cluster 中挂起None of slaves were synced
抛出异常- Spring Data Redis
ReactiveZSetCommands.zadd()
默认参数
更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.47.0