SpringBoot2.0默认使用Redis连接池的配置注意事项

SpringBoot2.0默认采用Lettuce客户端来连接Redis服务端的

默认是不使用连接池的,只有配置 redis.lettuce.pool下的属性的时候才可以使用到redis连接池

  redis:
    cluster:
      nodes: ${redis.host.cluster}
    password: ${redis.password}
    lettuce:
      shutdown-timeout: 100 # 关闭超时时间
      pool:
        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
        max-idle: 8 # 连接池中的最大空闲连接
        max-wait: 30 # 连接池最大阻塞等待时间(使用负值表示没有限制)
        min-idle: 0 # 连接池中的最小空闲连接

没有这个配置时

SpringBoot2.0默认使用Redis连接池的配置注意事项_第1张图片

增加这个配置时

SpringBoot2.0默认使用Redis连接池的配置注意事项_第2张图片

同时,使用连接池,要依赖commons-pool2

     
            org.apache.commons
            commons-pool2
       

如果没有引入,会报错

SpringBoot2.0默认使用Redis连接池的配置注意事项_第3张图片

 

 

同时如果你想使用jedis客户端,则需要配置

  redis:
    cluster:
      nodes: ${redis.host.cluster}
    password: ${redis.password}
    jedis:
      pool:
        max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
        max-idle: 8 # 连接池中的最大空闲连接
        max-wait: 30 # 连接池最大阻塞等待时间(使用负值表示没有限制)
        min-idle: 0 # 连接池中的最小空闲连接

当然你也可以不配置,走默认的连接池配置,但是有一点要注意

		
			org.springframework.boot
			spring-boot-starter-data-redis
			
				
					io.lettuce
					lettuce-core
				
			
		
		
		
			redis.clients
			jedis
		

依赖包的引用里,要去掉lettuce,并且加上jedis的依赖包,否则都是走的lettuce客户端

同时jedis的客户端默认增加了pool的连接池依赖包,所以Jedis默认你配置与否都会有连接池,而lettuce则需要配置文件中配置一下

你可能感兴趣的:(JAVA,Spring,Boot,Redis)