Redisson 3.17.0 发布,官方推荐的 Redis 客户端
Redisson 3.17.0 已发布,这是一个 Java 编写的 Redis 客户端,具备驻内存数据网格(In-Memory Data Grid)功能,并获得了 Redis 的官方推荐。
此版本更新内容如下:
Feature
- 添加了 RFunction 对象(需要 Redis 7.0+)。
- 为 RScoredSortedSet 对象添加了 pollLastEntriesFromAny() 和 pollFirstEntriesFromAny() 方法(需要 Redis 7.0+)。
- 在 RExpirable 接口中添加了 expireIfSet()、expireIfNotSet()、expireIfGreater() 和 expireIfLess() 方法(需要 Redis 7.0+)。
- 增加了 checkLockSyncedSlaves 设置
- 为 RBucket 对象添加 getAndExpire 和 getAndClearExpire() 方法(需要 Redis 6.2.0+)。
- 在 RScoredSortedSet 对象中添加了带超时和计数的 pollFirstFromAny() 和 pollLastFromAny() 方法(需要 Redis 7.0+)。
- 在 RScoredSortedSet 对象中添加了带超时和计数的 pollFirst() 和 pollLast() 方法(需要 Redis 7.0+)。
- RScoredSortedSet 对象中添加了 addAllIfLess()、addAllIfGreater()、addAllIfExist()、addAllIfAbsent() 方法。
- 添加了 RExpirable.expire(Duration) 方法。
- 添加了 RExpirable.expireTime() 方法(需要 Redis 7.0+)。
- RTimeSeries 对象增加了 range(), rangeReversed(), entryRange(), entryRangeReversed() 方法,并增加了限制参数。
- 增加了 TransactionalOperation.syncSlaves 设置。
- 在 RBlockingQueue 对象中添加了 pollFirstFromAny() 和 pollLastFromAny() 方法(需要 Redis 7.0+)。
Improvement
- 只读缓存的脚本应该在从属节点上执行(需要 Redis 7.0+)。
- SORT_RO 命令用于从属节点
- 通过 RPermitExpirableSemaphore 减少分配数据的大小
Fixed
- RedissonLocalCachedMap.clearLocalCache() 方法抛出 IllegalArgumentException
- RedissonMultiLock 与 RedissonSpinLock 不能正常工作。
- 在集群模式下,SlaveConnectionPool 没有可用的 Redis 条目错误
- RKeys.deleteByPattern() 方法并不总是正确删除 keys
- RExpirableReactive 和 RExpirableRx 接口的 expireAt(Instant) 方法不起作用
- 在 Redis 集群模式下,错误地检测了添加和删除的 slots
- 多模式下的 Spring 数据连接会导致线程卡住(自3.16.7以来的回归)
- 未应用 Sentinel username setting
- RTimeSeries 不能处理不同时间戳的相同值
- Quarkus 环境变量未正确解析
- 在 RPermitExpirableSemaphore 中检查 expiration
- RedisTimeoutException:Command execution timeout
- RedissonMultiLock lock method 中错误的等待时间计算导致死锁
- AsyncRemoteProxy 抛出 Redisson 被关闭的异常
- RedisClusterNode.clusterSlots() 方法抛出异常
更新说明:https://github.com/redisson/redisson/releases/tag/redisson-3.17.0