Skip to content

Commit 706a494

Browse files
committed
feat: Redis 설정 추가
1 parent 9d8fab8 commit 706a494

File tree

4 files changed

+39
-2
lines changed

4 files changed

+39
-2
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ dependencies {
2626
implementation 'org.springframework.boot:spring-boot-starter-web'
2727
compileOnly 'org.projectlombok:lombok'
2828
developmentOnly 'org.springframework.boot:spring-boot-devtools'
29-
runtimeOnly 'com.h2database:h2'
3029
annotationProcessor 'org.projectlombok:lombok'
3130
testImplementation 'org.springframework.boot:spring-boot-starter-test'
31+
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
3232
}
3333

3434
tasks.named('test') {
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.systemdesign.slidingwindowcounter.common.config;
2+
3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
5+
import com.fasterxml.jackson.databind.ObjectMapper;
6+
import org.springframework.context.annotation.Bean;
7+
import org.springframework.context.annotation.Configuration;
8+
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
9+
import org.springframework.data.redis.core.ReactiveRedisTemplate;
10+
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
11+
import org.springframework.data.redis.serializer.RedisSerializationContext;
12+
import org.springframework.data.redis.serializer.RedisSerializer;
13+
14+
@Configuration
15+
public class RedisConfig {
16+
17+
@Bean
18+
public ReactiveRedisTemplate<String, Object> reactiveRedisTemplate(ReactiveRedisConnectionFactory connectionFactory) {
19+
ObjectMapper objectMapper = new ObjectMapper();
20+
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
21+
objectMapper.activateDefaultTyping(objectMapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.EVERYTHING, JsonTypeInfo.As.PROPERTY);
22+
23+
RedisSerializer<Object> redisSerializer = new GenericJackson2JsonRedisSerializer(objectMapper);
24+
25+
RedisSerializationContext<String, Object> context = RedisSerializationContext
26+
.<String, Object>newSerializationContext(RedisSerializer.string())
27+
.value(redisSerializer)
28+
.hashValue(redisSerializer)
29+
.build();
30+
31+
return new ReactiveRedisTemplate<>(connectionFactory, context);
32+
}
33+
}

src/main/resources/application.properties

Lines changed: 0 additions & 1 deletion
This file was deleted.

src/main/resources/application.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
spring:
2+
data:
3+
redis:
4+
host: localhost
5+
port: 6379

0 commit comments

Comments
 (0)