본문 바로가기
SpringBoot

Spring RedisTemplate-HashOperation 사용

by ByteBridge 2017. 7. 7.
반응형


RedisTemplate-HashOperation 사용법

@Autowired
private RedisTemplate<String,String> redisTemplate;

// @Resource(name = "redisTemplate")
// private HashOperations<String,String,Integer> hashOperations;

@Test
//@Ignore
public void redisTest() throws Exception{
redisTemplate.setHashKeySerializer(new StringRedisSerializer(StandardCharsets.UTF_8));
redisTemplate.setHashValueSerializer(new StringRedisSerializer(StandardCharsets.UTF_8));
String apikey1 = "NWPLYtUPuQIO1nTsspw3N1";
String apikey2 = "NWPLYtUPuQIO1nTsspw3N2";


redisTemplate.opsForHash().increment("2017-07-07",apikey1+"#111111",1);
redisTemplate.opsForHash().increment("2017-07-07",apikey1+"#222222",1);

redisTemplate.opsForHash().increment("2017-07-08",apikey1+"#111111",1);
redisTemplate.opsForHash().increment("2017-07-08",apikey1+"#222222",1);

System.out.println("XX: "+redisTemplate.opsForHash().values("2017-07-08"));
}


HashOperations 타입을 그대로 사용하면 Deserialize 하기가 쉽지 않다.

따라서 HashOperations 를 한번더 감싼 RedisTemplate 인터페이스를 사용하여 Deserialize 설정 해주면 키,값 들이 깨지지 않고 그대로 보여진다.


첨부된 실행 결과를 보면 RedisTemplate 으로 사용한것에 대해서는 그대로 보여지지만 HashOperations 를 사용한 키,값들은 hex 로 보여진다.


첨부파일:



반응형