springboot整合redis報錯NOAUTH Authentication required.解決方案

環境:

pom中reids相關配置:

	<!-- redis -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-data-redis</artifactId>
			<exclusions>
				<exclusion>
					<groupId>redis.clients</groupId>
					<artifactId>jedis</artifactId>
				</exclusion>
				<exclusion>
					<groupId>io.lettuce</groupId>
					<artifactId>lettuce-core</artifactId>
				</exclusion>
			</exclusions>
		</dependency>
		<dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
		</dependency>

在application.properties中redis的配置(密碼我隱藏了,實際上redis服務器是配置了密碼的,):

# Redis服務器連接端口
spring.redis.port=6379
# Redis服務器連接密碼(默認爲空)
#spring.redis.password=xxxx
# 連接池最大連接數(使用負值表示沒有限制)
spring.redis.jedis.pool.max-active=100
# 連接池最大阻塞等待時間(使用負值表示沒有限制)
spring.redis.jedis.pool.max-wait=5000
# 連接池中的最大空閒連接
spring.redis.jedis.pool.max-idle=10
# 連接池中的最小空閒連接
spring.redis.jedis.pool.min-idle=0
# 連接超時時間(毫秒)
spring.redis.timeout=5000

解決方案1:配置jedisConfig

        /**
	 * 設置JedisConnectionFactory
	 * @return
	 */
	@SuppressWarnings("deprecation")
	@Bean
	@ConfigurationProperties(prefix="spring.redis")
	JedisConnectionFactory jedisConnectionFactory() {
		JedisConnectionFactory factory = new JedisConnectionFactory();
		factory.setPoolConfig(jedisPoolConfig());
		return factory;
	}
    @Bean
	@ConfigurationProperties(prefix="spring.redis.jedis.pool")
	public JedisPoolConfig jedisPoolConfig() {
		return new JedisPoolConfig();
	}

至此已解決連接問題,然後大家在配置時可以發現,在配置類裏設置方法是有警告的,有更好的解決方案歡迎告訴我哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章