From dd614c07e2100d0c1b8829a04355882162d7ba77 Mon Sep 17 00:00:00 2001 From: Klaus Date: Mon, 18 Nov 2024 14:11:09 +0900 Subject: [PATCH] =?UTF-8?q?Redis=20connection=20-=20=ED=81=B4=EB=9F=AC?= =?UTF-8?q?=EC=8A=A4=ED=84=B0=20=EB=AA=A8=EB=93=9C=20=EC=84=A4=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../vividnext/sodalive/configs/RedisConfig.kt | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/kr/co/vividnext/sodalive/configs/RedisConfig.kt b/src/main/kotlin/kr/co/vividnext/sodalive/configs/RedisConfig.kt index 09989bd..a2d605f 100644 --- a/src/main/kotlin/kr/co/vividnext/sodalive/configs/RedisConfig.kt +++ b/src/main/kotlin/kr/co/vividnext/sodalive/configs/RedisConfig.kt @@ -1,13 +1,14 @@ package kr.co.vividnext.sodalive.configs +import io.lettuce.core.ClientOptions import org.springframework.beans.factory.annotation.Value import org.springframework.cache.annotation.EnableCaching import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.data.redis.cache.RedisCacheConfiguration import org.springframework.data.redis.cache.RedisCacheManager +import org.springframework.data.redis.connection.RedisClusterConfiguration import org.springframework.data.redis.connection.RedisConnectionFactory -import org.springframework.data.redis.connection.RedisStandaloneConfiguration import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory import org.springframework.data.redis.core.RedisTemplate @@ -28,12 +29,23 @@ class RedisConfig( ) { @Bean fun redisConnectionFactory(): RedisConnectionFactory { - val clientConfiguration = LettuceClientConfiguration.builder() + val clusterConfig = RedisClusterConfiguration() + clusterConfig.clusterNode(host, port) + + val clientConfig = LettuceClientConfiguration.builder() + .clientOptions( + ClientOptions.builder() + .pingBeforeActivateConnection(true) + .autoReconnect(true) + .build() + ) + .commandTimeout(Duration.ofSeconds(5)) + .shutdownTimeout(Duration.ofSeconds(5)) .useSsl() .disablePeerVerification() .build() - return LettuceConnectionFactory(RedisStandaloneConfiguration(host, port), clientConfiguration) + return LettuceConnectionFactory(clusterConfig, clientConfig) } @Bean