Redis/Spring Data Redis

[Spring Data Redis] HyperLogLog

오늘도개발 2024. 5. 13. 19:24

 

1. Redis HyperLogLog 란?

 

 - 확률적 자료구조를 사용하며 큰 데이터를 다룰 때 사용

 

 - 유니크한 값의 개수를 계산할 때 사용

 

 

 

2. HyperLogLogOperations<K, V> 사용 방법

 

 -  private final RedisTemplate<String,String> redisTemplate  으로 지정 후

 

 -  redisTemplate.opsForHyperLogLog() 으로 호출 가능

 

 -  redisTemplate.opsForHyperLogLog().add( [key 값], [Value 값]) 으로 데이터를 저장 가능

 

 -  redisTemplate.opsForHyperLogLog().size([key 값]) 으로 데이터 크기 확인 가능

 

 -  redisTemplate.opsForHyperLogLog().union([최종 병합할 대상 key 값] , [병합할 key값 리스트]) 로 데이터 병합 가능

 

 

 

3. HyperLogLogOperations<K, V> 예시

 

@Autowired
    RedisTemplate<String, String> redisTemplate;

    @Test
    void redisTest(){
        String[] values = new String[3];
        values[0] = "aaa";
        values[1] = "bbb";
        values[2] = "ccc";

        redisTemplate.opsForHyperLogLog().add("test:hll1", values);


        System.out.println("test:hll1 size value = ");
        System.out.println(redisTemplate.opsForHyperLogLog().size("test:hll1"));

        redisTemplate.opsForHyperLogLog().add("test:hll2", "ddd");

        redisTemplate.opsForHyperLogLog().union("test:hll1", "test:hll2");

        System.out.println("test:hll1 size value = ");
        System.out.println(redisTemplate.opsForHyperLogLog().size("test:hll1"));

    }

 

 

 

'Redis > Spring Data Redis' 카테고리의 다른 글

[Spring Data Redis] Streams  (0) 2024.05.14
[Spring Data Redis] Redis Pub / Sub  (0) 2024.05.14
[Spring Data Redis] Sorted Sets  (0) 2024.05.13
[Spring Data Redis] Hashes  (0) 2024.05.13
[Spring Data Redis] Sets  (0) 2024.05.13