Jedis 是底层阻塞式客户端;
RedisTemplate 是 Spring 对 Redis 的抽象封装,适合场景:缓存,简单计数,Session不复杂的redis使用场景,例如:String / Hash,TTL,简单 Lua
Redisson 提供基于Redis的分布式协调能力,底层提供了看门狗机制,一般用来做分布式锁
简单缓存用RedisTemplate,分布式场景用Redisson,如果追求极致的控制用Jedis
为什么 Lettuce 比 Jedis 更适合高并发?
Jedis 是阻塞式 IO,连接非线程安全,高并发下只能通过连接池扩展,连接数和线程数会成为瓶颈;
Lettuce 基于 Netty 的异步非阻塞 IO,连接线程安全,可以在高并发下用极少的连接支撑大量请求,因此更适合高并发和核心链路,这也是 Spring Boot 默认选择 Lettuce 的原因
Jedis 是阻塞式 IO,连接非线程安全,高并发下只能通过连接池扩展,连接数和线程数会成为瓶颈;
Lettuce 基于 Netty 的异步非阻塞 IO,连接线程安全,可以在高并发下用极少的连接支撑大量请求,因此更适合高并发和核心链路,这也是 Spring Boot 默认选择 Lettuce 的原因