一、Pom 配置
<!– 引入spring-data-redis组件 –><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <!– 因springboot2.x中默认集成了lettuce,因此需要排掉该依赖 –> <exclusion> <artifactId>lettuce-core</artifactId> <groupId>io.lettuce</groupId> </exclusion> </exclusions></dependency><!– 引入redisson对springboot的集成适配包 –><dependency> <groupId>org.redisson</groupId> <artifactId>redisson-spring-boot-starter</artifactId> <version>3.24.3</version></dependency>
二、代码配置
如下代码,连接参数已配置为推荐值。
import org.redisson.Redisson;import org.redisson.api.RedissonClient;import org.redisson.codec.JsonJacksonCodec;import org.redisson.config.Config;import org.redisson.config.SingleServerConfig;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;@Configuration public class SingleConfig { @Value("${tencent.redis.address:}") private String redisAddress; @Value("${tencent.redis.password:}") private String redisPassword; @Value("${tencent.redis.database:0}") private Integer redisDatabase = 0; @Value("${tencent.redis.connect.timeout:3000}") private Integer redisConnectTimeout = 3000; @Value("${tencent.redis.connection.idle.timeout:10000}") private Integer redisConnectionIdleTimeout = 10000; @Value("${tencent.redis.connection.ping.interval:1000}") private Integer redisConnectionPingInterval = 1000; @Value("${tencent.redis.timeout:2000}") private Integer timeout = 2000; @Value("${tencent.redis.connection.pool.min.size:50}") private Integer redisConnectionPoolMinSize; @Value("${tencent.redis.connection.pool.max.size:200}") private Integer redisConnectionPoolMaxSize; @Value("${tencent.redis.retry.attempts:3}") private Integer redisRetryAttempts = 3; @Value("${tencent.redis.retry.interval:200}") private Integer redisRetryInterval = 200; @Bean public RedissonClient redissonClient(){ Config redissonConfig = new Config(); SingleServerConfig serverConfig = redissonConfig.useSingleServer(); serverConfig.setAddress(redisAddress); serverConfig.setConnectionMinimumIdleSize(redisConnectionPoolMinSize); serverConfig.setIdleConnectionTimeout(redisConnectionIdleTimeout); serverConfig.setConnectionPoolSize(redisConnectionPoolMaxSize); serverConfig.setDatabase(redisDatabase); serverConfig.setPassword(redisPassword); serverConfig.setConnectTimeout(redisConnectTimeout); serverConfig.setPingConnectionInterval(redisConnectionPingInterval); serverConfig.setTimeout(timeout); serverConfig.setRetryAttempts(redisRetryAttempts); serverConfig.setRetryInterval(redisRetryInterval); redissonConfig.setCodec(new JsonJacksonCodec()); return Redisson.create(redissonConfig); }}
三、application.properties 格式
tencent.redis.address=redis://XX.XX.XX.XX:6379tencent.redis.password=XXXXtencent.redis.database=0tencent.redis.connect.timeout=3000tencent.redis.connection.idle.timeout=10000tencent.redis.connection.ping.interval=1000tencent.redis.timeout=2000tencent.redis.connection.pool.min.size=50tencent.redis.connection.pool.max.size=200tencent.redis.retry.attempts=3tencent.redis.retry.interval=200
四、application.yml 格式
tencent: redis: address: redis://XX.XX.XX.XX:6379 password: XXXX database: 0 connect.timeout: 3000 connection: idle.timeout: 10000 ping.interval: 1000 pool: min.size: 50 max.size: 200 timeout: 2000 retry: attempts: 3 interval: 200