Skip to content

面试速答(先看这里)

**一句话结论:**一句话就是Jedis非常的轻量级,极其简单,可以认为就是把Redis的命令做了一下封装,而Redisson提供了更多高级特性和功能,整体也更加复杂一些。

60秒标准回答:

Redisson和Jedis是两个流行的Java客户端库,用于与Redis进行交互,其实在Redisson的官网上针对这两个产品做了比较全面的对比

一句话就是Jedis非常的轻量级,极其简单,可以认为就是把Redis的命令做了一下封装,而Redisson提供了更多高级特性和功能,整体也更加复杂一些

以下是我基于官网上的资料做的简单整理

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**Redisson和Jedis是两个流行的Java客户端库,用于与Redis进行交互,其实在Redisson的官网上针对这两个产品做了比较全面的对比:
  • **要点2:**以下是我基于官网上的资料做的简单整理:
  • **要点3:**所以我们在选择的时候, 如果需要高级特性如分布式锁、高级缓存支持或特定框架集成,Redisson可能是更好的选择。

**记忆锚点:**Redisson → Jedis → Cache → Spring → Java → Redis

加分表达:

  • 所以我们在选择的时候, 如果需要高级特性如分布式锁、高级缓存支持或特定框架集成,Redisson可能是更好的选择。
  • 如果项目需要一个轻量级的解决方案,且不需要高级功能,Jedis可能是合适的选择。

追问准备:

  • 围绕「Redisson」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「Jedis」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「Cache」:底层原理是什么?使用时有哪些边界和常见坑?
  • 如果线上出现异常,你会如何定位、验证并规避?

典型回答 ​

Redisson和Jedis是两个流行的Java客户端库,用于与Redis进行交互,其实在Redisson的官网上针对这两个产品做了比较全面的对比:https://redisson.org/feature-comparison-redisson-vs-jedis.html

一句话就是Jedis非常的轻量级,极其简单,可以认为就是把Redis的命令做了一下封装,而Redisson提供了更多高级特性和功能,整体也更加复杂一些。

以下是我基于官网上的资料做的简单整理:

  1. 分布式集合:
  • Redisson:提供多种Java集合对象的实现,包括Multimap、PriorityQueue、DelayedQueue等
  • Jedis:支持较少的分布式集合,大多只支持Map、Set、List等的基本命令。
  1. 分布式锁和同步器:
  • Redisson:支持常见的Java锁和同步器,如FairLock、MultiLock、Semaphore、CountDownLatch等。
  • Jedis:不支持。需要自己实现
  1. 分布式对象:
  • Redisson:实现了多种分布式对象,如Publish/Subscribe、BloomFilter、RateLimiter、Id Generator等。
  • Jedis:只支持基本的类型的基本命令,如AtomicLong、AtomicDouble、HyperLogLog等
  1. 高级缓存支持:
  • Redisson:提供多种高级缓存功能,支持Read-through/Write-through/Write-behind等策略。
  • Jedis:不支持这些高级缓存功能。
  1. API架构:
  • Redisson:支持实例线程安全、异步接口、响应式流接口和RxJava3接口。
  • Jedis:不支持。
  1. 分布式服务:
  • Redisson:提供ExecutorService、MapReduce、SchedulerService等服务。
  • Jedis:不支持这些分布式服务。
  1. 框架集成:
  • Redisson:支持Spring Cache、Hibernate Cache、MyBatis Cache等。
  • Jedis:仅支持Spring Session和Spring Cache。
  1. 安全性:
  • Redisson和Jedis:都支持认证和SSL。
  1. 自定义数据序列化:
  • Redisson:支持多种编解码器,如JSON、JDK序列化、Avro等。
  • Jedis:不支持JDK序列化或上述编解码器。

所以我们在选择的时候,如果需要高级特性如分布式锁、高级缓存支持或特定框架集成,Redisson可能是更好的选择。如果项目需要一个轻量级的解决方案,且不需要高级功能,Jedis可能是合适的选择。