11package com .example .log4u .common .config ;
22
3+ import java .util .List ;
4+
35import org .springframework .context .annotation .Bean ;
46import org .springframework .context .annotation .Configuration ;
57import org .springframework .data .redis .connection .RedisConnectionFactory ;
68import org .springframework .data .redis .core .RedisTemplate ;
79import org .springframework .data .redis .serializer .GenericJackson2JsonRedisSerializer ;
10+ import org .springframework .data .redis .serializer .Jackson2JsonRedisSerializer ;
811import org .springframework .data .redis .serializer .StringRedisSerializer ;
912
13+ import com .example .log4u .domain .map .dto .response .DiaryClusterResponseDto ;
14+ import com .fasterxml .jackson .databind .JavaType ;
15+ import com .fasterxml .jackson .databind .ObjectMapper ;
16+
17+ import software .amazon .awssdk .thirdparty .jackson .core .type .TypeReference ;
18+
1019@ Configuration
1120public class RedisConfig {
1221
@@ -20,4 +29,19 @@ public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory connec
2029
2130 return template ;
2231 }
32+
33+ @ Bean
34+ public RedisTemplate <String , List <DiaryClusterResponseDto >> diaryClusterRedisTemplate (
35+ RedisConnectionFactory connectionFactory ,
36+ ObjectMapper objectMapper
37+ ) {
38+ RedisTemplate <String , List <DiaryClusterResponseDto >> template = new RedisTemplate <>();
39+ template .setConnectionFactory (connectionFactory );
40+ template .setKeySerializer (new StringRedisSerializer ());
41+
42+ JavaType javaType = objectMapper .getTypeFactory ().constructCollectionType (List .class , DiaryClusterResponseDto .class );
43+ Jackson2JsonRedisSerializer <List <DiaryClusterResponseDto >> serializer = new Jackson2JsonRedisSerializer <>(objectMapper , javaType );
44+ template .setValueSerializer (serializer );
45+ return template ;
46+ }
2347}
0 commit comments