코딩마을방범대
Redis에 객체를 저장하는 방법 본문
728x90
Redis를 이용해 String을 저장하는 방법은 매우 간단하다.
그러나 객체를 저장하기 위해선 Json을 이용해 저장 후 convert가 필요하다.
※ conf 파일에 아래와 같이 Json 타입으로 설정 시 자동으로 Json String으로 저장된다.
redisTemplate.setValueSerializer(new Jackson2JsonRedisSerializer(Object.class));
set 방식으로 저장해서 valueOperations.members(키값) 명령어를 통해 가져왔을 때 안의 따옴표들이 전부 사라졌다.
이 때문에 Json to Java Object 로 변환이 불가능했고, 이리저리 테스트해보다가 해결 방법을 발견했다.
아래와 같이 Set에 담아서 가져온 뒤 Mapper를 통해 convert 해주면 된다!
SetOperations<String, TestVO> valueOperations = redisTemplate.opsForSet();
Set<TestVO> value1 = valueOperations.members("test");
ObjectMapper mapper = new ObjectMapper();
List<TestVO> list = mapper.convertValue(value1, new TypeReference<List<TestVO>>(){});

728x90
'💡 백엔드 > Redis' 카테고리의 다른 글
Redis를 구축하며 발생한 오류들 (0) | 2023.06.29 |
---|---|
Redis - (7) Redis 데이터 다루기 (RDB/AOF) (0) | 2023.06.20 |
Redis - (6) Java에서 Redis 사용하기(Repository) (0) | 2023.06.19 |
Redis - (5) Java에서 Redis 사용하기(Lettuce) (0) | 2023.06.19 |
Redis - (4) Java에서 Redis 사용하기(Jedis) (0) | 2023.06.19 |