
Redisson是一个高性能的 Java Redis 客户端提供了丰富的分布式工具集如分布式锁、Map、Queue 等帮助开发者简化 Redis 的操作。在集成Redisson到项目时开发者通常有两种选择使用Redisson 原始依赖。使用Redisson Spring Boot Starter。这篇文章将详细介绍这两种集成方式的配置、使用场景以及它们的差异帮助你更好地理解并选择合适的方案。1. 使用 Redisson 原始依赖Redisson 原始依赖的方式指的是直接使用redisson库并自行配置RedissonClient来与 Redis 进行交互。这种方法适用于任何 Java 项目包括 Spring、非 Spring 项目。使用步骤1.1 引入依赖在pom.xml中添加 Redisson 依赖dependency groupIdorg.redisson/groupId artifactIdredisson/artifactId version3.16.5/version !-- 版本号可根据需求调整 -- /dependency1.2 创建配置类并初始化RedissonClient手动定义Config对象并创建RedissonClient实例import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; public class RedisConfig { public RedissonClient createRedissonClient() { // 创建 Redisson 配置对象 Config config new Config(); // 设置为单节点配置 config.useSingleServer() .setAddress(redis://127.0.0.1:6379) .setPassword(yourPassword); // 创建 RedissonClient 实例 return Redisson.create(config); } }1.3 使用RedissonClient在业务代码中使用RedissonClientpublic class RedissonExample { public static void main(String[] args) { RedisConfig redisConfig new RedisConfig(); RedissonClient redissonClient redisConfig.createRedissonClient(); // 使用 Redisson 获取分布式锁 var lock redissonClient.getLock(testLock); lock.lock(); try { // 模拟业务逻辑 System.out.println(Lock acquired and executing critical section.); } finally { lock.unlock(); } } }特点手动配置手动定义Config对象并配置RedissonClient可以完全控制连接参数、池大小、超时等。适用于非 Spring 环境这种方式并不依赖 Spring可以应用于任何 Java 项目。灵活性强可以根据具体需求实现自定义逻辑和配置。使用场景项目对 Spring 依赖不多或完全不使用 Spring。需要对RedissonClient的每个细节进行精细控制。2. 使用 Redisson Spring Boot Starterredisson-spring-boot-starter是Redisson提供的用于与 Spring Boot 更好集成的模块它提供了自动化的配置功能使得RedissonClient的配置过程更加简洁。使用步骤2.1 引入依赖在pom.xml中添加redisson-spring-boot-starter依赖dependency groupIdorg.redisson/groupId artifactIdredisson-spring-boot-starter/artifactId version3.16.5/version !-- 版本号可以根据需求调整 -- /dependency2.2 在application.yml或application.properties中配置 Redis 信息在application.yml中配置 Redisredisson: singleServerConfig: address: redis://127.0.0.1:6379 password: yourPassword connectionPoolSize: 10 connectionMinimumIdleSize: 22.3 使用RedissonClient自动注入Spring Boot 会自动配置RedissonClient因此你可以直接注入并使用它import org.redisson.api.RedissonClient; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; RestController public class RedissonController { Autowired private RedissonClient redissonClient; GetMapping(/lock) public String acquireLock() { var lock redissonClient.getLock(testLock); lock.lock(); try { // 模拟业务逻辑 return Lock acquired and critical section executed.; } finally { lock.unlock(); } } }特点自动化配置redisson-spring-boot-starter能从 Spring Boot 配置文件中读取参数并自动创建RedissonClient。与 Spring Boot 紧密集成无需手动管理RedissonClient更加符合 Spring Boot 的自动化特性。方便注入可以通过Autowired轻松地注入RedissonClient非常符合 Spring 的开发风格。使用场景使用 Spring Boot 项目并且希望最大化利用 Spring Boot 的自动配置特性。希望简化代码、减少配置工作量。两种方式的对比特性原始 Redisson 依赖Redisson Spring Boot Starter配置方式手动创建Config和RedissonClient使用application.yml自动配置适用项目类型任何 Java 项目包括非 Spring 项目适用于 Spring Boot 项目灵活性配置灵活细节控制全面依赖自动配置灵活性稍低代码复杂度需要手动编写配置类自动配置代码量少集成简单与 Spring 的集成需手动管理适用于传统 Java 项目Spring Boot 会自动管理RedissonClient典型场景对 Spring 依赖不多或者需要特殊配置场景使用 Spring Boot追求快速开发和简洁配置如何选择如果你的项目是传统 Java 项目或者使用了 Spring Framework 而不是 Spring Boot并且你希望对 Redis 的配置有更多细节掌控那么可以选择原始 Redisson 依赖的方式。它可以让你根据需求实现自定义的配置和连接管理。如果你的项目是 Spring Boot 项目并且你希望充分利用 Spring Boot 的自动配置特性来减少配置代码可以选择Redisson Spring Boot Starter。这种方式集成简单代码更加简洁可以大大提高开发效率。总结Redisson提供了两种集成 Redis 的方式原始依赖和 Spring Boot Starter。原始依赖适用于需要完全自定义配置的场景而Spring Boot Starter使得集成过程变得更加简单特别适合 Spring Boot 项目。根据具体项目的需求和开发环境选择合适的方式能够更好地帮助你完成项目的 Redis 集成实现更强大的分布式能力。