티스토리 뷰
728x90
@Configuration
@EnableConfigurationProperties(RedisProperties::class)
class RedisRepositoryConfig(
private val redisProperties: RedisProperties,
) {
@Primary
@Bean
fun redisFactoryDefault(): LettuceConnectionFactory {
return connection(redisProperties.default)
}
@Bean
@Qualifier("redisDefault")
fun redisDefault(): RedisTemplate<String, Any> {
return template(redisFactoryDefault())
}
@Bean
fun redisFactoryContent(): LettuceConnectionFactory {
return connection(redisProperties.content)
}
@Bean
@Qualifier("redisContent")
fun redisContent(): RedisTemplate<String, Any> {
return template(redisFactoryContent())
}
@Bean
fun redisFactoryCommerce(): LettuceConnectionFactory {
return connection(redisProperties.commerce)
}
@Bean
@Qualifier("redisCommerce")
fun redisCommerce(): RedisTemplate<String, Any> {
return template(redisFactoryCommerce())
}
companion object {
fun connection(redis: Redis): LettuceConnectionFactory {
val redisConfiguration = RedisStaticMasterReplicaConfiguration(redis.writer.host, redis.writer.port)
redisConfiguration.addNode(redis.reader.host, redis.reader.port)
val clientConfig =
LettuceClientConfiguration.builder().readFrom(
ReadFrom.REPLICA_PREFERRED
).build()
return LettuceConnectionFactory(redisConfiguration, clientConfig)
.also {
it.eagerInitialization = true
}
}
fun template(connection: LettuceConnectionFactory): RedisTemplate<String, Any> {
val template = RedisTemplate<String, Any>()
val serializer = StringRedisSerializer()
template.keySerializer = serializer
template.valueSerializer = serializer
template.hashKeySerializer = serializer
template.hashValueSerializer = serializer
template.setConnectionFactory(connection)
return template
}
}
}
https://velog.io/@kenux/SpringBootRedis1
https://developpaper.com/spring-boot-multi-data-source-redis-configuration/
https://basketdeveloper.tistory.com/77
728x90
'공부' 카테고리의 다른 글
[git] prepare-commit-msg (0) | 2022.06.06 |
---|---|
[Gradle] getting started (0) | 2022.06.06 |
[Postman] Environments Variables (0) | 2022.06.06 |
[Architecture] Lambda (0) | 2022.06.06 |
[gradle] implementation vs api (0) | 2022.06.06 |
댓글
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 김달
- 인스타그램
- 유투브
- 클루지
- 테슬라 리퍼럴 코드 생성
- wlw
- 테슬라 레퍼럴 적용 확인
- 테슬라
- 어떻게 능력을 보여줄 것인가?
- 테슬라 크레딧 사용
- 메디파크 내과 전문의 의학박사 김영수
- 테슬라 추천
- 팔로워 수 세기
- 레퍼럴
- 테슬라 리퍼럴 코드 혜택
- 테슬라 레퍼럴 코드 확인
- 모델y
- COUNT
- 책그림
- 할인
- 모델 Y 레퍼럴
- 테슬라 레퍼럴
- Bot
- 테슬라 리퍼럴 코드
- 연애학개론
- 개리마커스
- Kluge
- follower
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
글 보관함