Redisson和Jedis有啥区别?如何选择?

1 个回答

  • 白菜
    首先你要快乐,其次都是其次。
    ### Redisson vs. Jedis 简要对比 #### 1. 分布式集合 - **Redisson**:提供多种 Java 集合对象实现,如 `Multimap`、`PriorityQueue`、`DelayedQueue` 等。 - **Jedis**:仅支持基本集合操作,包含 `Map`、`Set`、`List` 等。 #### 2. 分布式锁和同步器 - **Redisson**:支持多种分布式锁和同步器,包括 `FairLock`、`MultiLock`、`Semaphore`、`CountDownLatch` 等。 - **Jedis**:不支持,需要用户自行实现分布式锁机制。 #### 3. 分布式对象 - **Redisson**:实现了多种分布式对象,如 `Publish/Subscribe`、`BloomFilter`、`RateLimiter`、`Id Generator` 等。 - **Jedis**:支持的类型有限,主要包括 `AtomicLong`、`AtomicDouble`、`HyperLogLog` 等基本对象。 #### 4. 高级缓存支持 - **Redisson**:支持高级缓存策略,包括 `Read-through`、`Write-through`、`Write-behind` 等。 - **Jedis**:不支持高级缓存策略。 #### 5. API 架构 - **Redisson**:支持线程安全、异步接口、响应式流接口以及 RxJava3 接口。 - **Jedis**:不支持这些特性,提供的是同步 API。 #### 6. 分布式服务 - **Redisson**:提供 `ExecutorService`、`MapReduce`、`SchedulerService` 等分布式服务。 - **Jedis**:不提供这些分布式服务功能。 #### 7. 框架集成 - **Redisson**:支持与 Spring Cache、Hibernate Cache、MyBatis Cache 等的集成。 - **Jedis**:仅支持 Spring Session 和 Spring Cache。 #### 8. 安全性 - **Redisson 和 Jedis**:均支持认证和 SSL 加密。 #### 9. 自定义数据序列化 - **Redisson**:支持多种编解码器,包括 JSON、JDK 序列化、Avro 等。 - **Jedis**:不支持 JDK 序列化和其他高级编解码器。 ### 选择建议 - 如果项目需要 **高级特性**(如分布式锁、高级缓存支持、分布式服务或特定框架集成),**Redisson** 是更好的选择。 - 如果项目需要一个 **轻量级** 且不依赖高级特性的 Redis 客户端,**Jedis** 会更适合。
    编辑于 2024-11-25 05:11 •IP属地 美国
    举报
    评论
    收藏