Jedis 4.0.0 发布
Jedis 是 Redis 的一个 Java 客户端库,旨在提高性能和易用性。Jedis 与 redis 2.8.x、3.xx 及更高版本完全兼容。
新功能
- 引入 JedisPooled
- JedisPool 的替代品,实现了与 JedisCluster 相同的接口,允许在 JedisCluster 和 JedisPooled 之间轻松切换。
- 引入 JedisSharding
- 引入 ClusterPipeline 和 ShardedPipeline
- 引入 ReliableTransaction
- 引入 UnifiedJedis
- 引入 ConnectionProvider 接口和一些实现
- 引入 CommandExecutor 接口和一些实现
- 增加了 RedisJSON 和 RedisJSON 2 命令
- 增加了 RediSearch 命令
- ……
变化
- 具有
GenericObjectPoolConfig<Jedis>的 JedisCluster 构造函数现在接受GenericObjectPoolConfig<Connection> - 大多数 SortedSet 方法改为返回 Java
List而不是Set - 许多方法现在返回原始值(long/boolean/double,而不是 Long/Boolean/Double)
- ShardedJedisPool、Sharded、ShardedJedis、BinaryShardedJedis、ShardInfo、JedisShardInfo 类被移除
- BinaryJedis 和 BinaryJedisCluster 类已被删除,这些类的方法可以分别在 Jedis 和 JedisCluster 类中使用
- 删除了 Client 和 BinaryClient 类
redis.client.jedis.commands包被重新实现,意味着 Commands 接口被重组- 删除了 Sentinel 类
维护
- 将依赖性
org.slf4j:slf4j-api升级到1.7.32版本 - 添加了依赖性
org.json:json版本20211205 - 添加了依赖性
com.google.code.gson:gson版本2.8.9
更改列表
- 通过替换无效的 JedisDataException 抛出 IllegalStateException
- 支持带有 TLS 的 Sentinel
- 删除 EVAL 和 EVALSHA 命令中无限超时的用法
- 避免 SetFromList 类的 NullPointException
- JedisNoReachableClusterNodeException 应扩展 JedisClusterOperationException
- 从 Transaction 中移除 WATCH
- JedisDataException 不应该被包裹在 Pool 操作中
- 删除 SYNC 命令
- 删除 ShardedJedisPipeline 类
- 删除 JedisPoolAbstract 类并隐藏 Pool.initPool() 方法
- 限制 Jedis 中 setDataSource 的访问
- 升级依赖关系
- 移除被保留的废弃内容
- 解决 XADD 冲突
- 使用 slf4j-simple 来替换 log4j 的实现
- ……