Redisson 3.47.0 发布,官方推荐的 Redis 客户端
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