Redis connection

- 클러스터 모드 설정
This commit is contained in:
Klaus 2024-11-18 14:11:09 +09:00
parent f134bc4599
commit dd614c07e2
1 changed files with 15 additions and 3 deletions

View File

@ -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