Redisson Introduction

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

Redis Client for Java

Redisson(레디슨)은 Java용 Redis Client 입니다.

이 동영상은 2017년 Redis Conference에서 개발자(Founder) 니키타가 Redisson을 소개하는 것입니다.
Nikita Koksharov[Никита Кокшаров] (Russian)

이 슬라이드는 위 동영상에서 발표한 것입니다.

Redisson 사용 경험

  • Jedis나 Lettuce에 비교해서 사용하기 쉽지 않다.  두 가지 면에서 설명하면,
    첫째   Jedis나 Lettuce는 Redis Server에 Connection하면 바로 명령(메소드)를 사용할 수 있는데, Redisson은 먼저 DataType에 맞는 메소드를 선택해야 한다. 예를 들면, SET 명령을 실행하려면 getBucket()을 선택해야 하고, LPUSH 명령을 실행하려면 getDeque() 또는 getList()을 선택해야 한다.  어떤 경우는 선택할 필요없이 바로 명령을 실행할 수 있는 경우도 있다.  그러므로 원하는 명령을 실행하기 앞서 그에 맞는 적절한 DataType 메소드를 찾는게 쉽지 않다.
    둘째   Redis 명령과 Redisson 메소드 명이 대부분 다르다.  예를 들면 INCR -> getAtomicLong(), LPUSH -> addFirst(), LRANGE -> readAll() 등이 있다.  이렇게 이름이 달라서 Redisson에서는 별도의 명령어 mapping 페이지를 제공한다.
  • Value에 추가 문자가 들어간다.  SET으로 "value"를 저장하면 "\"value\"" 이렇게 value 앞, 뒤로 추가 문자가 들어간다.  Redisson의 같은 DataType 메소드(예, getBucket())을 사용해서 set, get을 하면 문제가 없지만, getBinaryStream()을 사용하면 문제가 발생한다.  이를 감안하지 않는 메소드들이 있어 문제가 될 수 있다. 예를 들면, STRLEN에 해당하는 size()를 사용하면 앞, 뒤에 붙은 \"까지 포함해서 길이를 리턴한다. 이것은 HSTRLEN도 마찬가지이다.  추가적인 문제는 저장은 Redisson으로 하고 조회는 Jedis로 한다면 문제가 발생할 것이다.

Redisson 특징

  • Redis 명령과 같은 Low Level 메소드를 제공한다.
  • Config 정보를 JSON 또는 YAML 파일로 사용하는 것을 기본으로 제공한다. 자세한 내용은 여기를 보세요
  • 이번 테스트에서 Redisson의 다양한 기능을 다 확인해보지 못했습니다.  Redisson을 잘 사용하시는 분이 계시면 이메일(redisgate@gmail.com)이나 댓글로 알려주시면 고맙겠습니다.

Redisson Introduction Connection >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.