CS/데이터베이스

Redis Intellij DataGrip 적용

Junuuu 2023. 7. 2. 00:01
728x90

개요

DB의 경우에는 IntelliJ SQL으로 조회하는 게 익숙하지만 Redis의 경우에는 데이터를 조작하는 게 익숙하지 않기 때문에 Document들을 살펴보며 익숙해지는 과정을 거치고자 합니다.

 

IntelliJ DataGrip, Redis 지원 시작

https://www.jetbrains.com/ko-kr/datagrip/whatsnew/2022-3/

 

DataGrip 2022.3의 새로운 기능

 

www.jetbrains.com

2022.3 버전부터 Redis 지원이 시작됩니다.

 

 

Redis 연결법

Host와 Port를 입력하면 바로 연결이 됩니다.

sets에 2개의 qr-session, refresh-token이 보입니다.

hash tables은 979개가 존재합니다.

hash table은 SET에 저장되는 데이터구조로 멤버 개수가 512개보다 크거나 문자열이라면 해시 테이블에 저장됩니다.

 

데이터 조회하기

우측의 hash tables에서도 찾을 수 있지만 데이터가 많은 경우에는 눈으로 찾기 어렵습니다.

HRANDFIELD qr-session:c52a7827-794b-4934-8837-a8164a4f4364 501 WITHVALUES

위의 명령어는 hash tables의 최상단에 존재하는 qr-session이라는 key의 c52a….-…-…365의 value들을 조회하는 명령어입니다.

501 값은 해시의 필드 수와 501 값 중 더 작은 값으로 필드의 수가 반환됩니다. (LIMIT 느낌)

(DataGrip에서 hash tables의 최상단 필드를 더블클릭했을 때 나오는 명령어입니다.)

filed와 value들을 확인할 수 있습니다.
 
 

하지만 위의 명령어의 시간복잡도를 확인해보면 O(N)의 시간복잡도를 가집니다.

https://redis.io/commands/hrandfield/

 

HRANDFIELD

Returns one or more random fields from a hash.

redis.io

O(N) 여기서 N은 반환되는 필드 수입니다.

따라서 6개의 필드가 반환되니 O(6)의 시간복잡도를 가집니다.