Redis 아주 간단하게..

윤성민·2020년 10월 26일
0

Redis

레디스는 고성능의 key-value 저장소로서, 리스트, 해시, 셋, 정렬된 셋 등의 자료구조를 지원하는 NoSQL이다.

메모리에 상주하면서 DB의 부하를 경감시켜주는 오픈소스 솔루션이다.

Redis 사용용도

Redis는 Message Queue, Shared Memory, Remote Dictionary 용도로 사용할 수 있습니다. 특히 Remote Dictionary로서 RDBMS의 캐시 솔루션으로 사용 용도가 굉장히 높다고 생각하고 있습니다. RDBMS에서 SELECT 쿼리문을 날려 특정 데이터들을 FETCH했을 때, RDBMS의 구조상 DISK에서 데이터를 꺼내오는 데 Memory에서 읽어들이는 것보다 천배 가량 더 느리기 때문입니다.

이 때 Redis같은 유연한 자료구조를 가지는 인메모리 Key-value 솔루션을 사용하여 DB 부하의 Read 연산의 부하를 분산시키는 데 적용하는 것은 바람직한 것 같습니다. (DB 캐시 적중률을 높이면 되겠지만 어느 정도 한계가 있다고 생각합니다)

출처: https://engkimbs.tistory.com/869 [새로비]

라고 설명이 나와있다.

redis의 특징


redis는 key-value쌍으로 mapping 되어 있는 형태로서, 쿼리가 따로 필요없고, 키를 넣으면 바로 value값이 나오는 딕셔너리? json? 형태의 구조이다.

참여하고 있는 프로젝트에서는 user가 생성될 때, user의 object Id를 redis에 추가적으로 key-value 쌍으로 등록하고 요청시에 user object id를 검증해, 등록된 유저만 backend에 접근할 수 있도록 하고 있다. 위에 설명처럼 DB에 쿼리문을 날려 memory에서 읽는 것보다 훨씬 더 빠르고, DB의 Read연산 부하를 분산시키는 데 유용할 것이라 생각한다.

redis Desktop manager

windows에서는 redis Desktop manager 라는 프로그램을 통해 쉽게 redis에 저장된 데이터를 확인할 수 있다.

다운로드 : https://rdm.dev/ (14일 평가판)
무료인 줄 알았는데 유료다.

설치하고 나면 다음과 같은 화면이 나온다.

하단 아래 Add New Connection을 누르면 다음과 같은 창이 뜬다.

사용하고 있는 Redis의 정보들을 입력하면 다음과 같이 연결된다.

key는 현재 x-client-type / x-client-id로 접근할 수 있고, value에는 저장된 값이 들어가 있다. 여기서 데이터를 삭제하거나 수정할 수도 있다.
GUI로 데이터를 간편하게 확인할 수 있어서 Redis를 쓸 때, 편리한 프로그램으로 느껴졌다.
Redis의 데이터를 다루게 되면서 여러 자료들을 검색해보았는데, 이렇게 단순하게 설명할만한 그런 서버는 아니었다. 아직 쓰임새를 정확하게 인지하지 못하여, 검색 자료들이 와닿지 않았는데 좀 더 redis를 써보고 제대로 조사해서 다시 포스팅 할 것이다.

Redis 관련 좋은 자료: https://www.youtube.com/watch?v=mPB2CZiAkKM [우아한테크세미나 Redis]

profile
기록은 기억보다 강하다.

0개의 댓글