본문 바로가기
필수 개발지식/개념정리, 유용한팁

Redis란 무엇인가? 윈도우에서 Redis 설치하기

by 코딩하는짱구 2023. 6. 5.
반응형

✅Redis를 써보고자 한 이유

2023.06.05 - [분류 전체보기] - 230603 실전프로젝트7 [Node.js/Nest.js_sort별 목록조회 api 보완]

프로젝트에서 user위치를 기준으로 주변 식당 목록을 조회할 때, 매번 main repository에 접근하는 것이 아니라 

redis에서 캐싱된 data를 조회하는 방식을 쓰는 것이 효율적일 것 같았다. 

 

 

 

✅Redis란 무엇이며 왜 쓰는가?

redis,레디스

대용량 데이터 저장, 비정형 데이터 저장, 빠른 응답시간 등의 새로운 요구사항에 기존 RDBMS만으론 대응하기 어려울 때가 있다. 그럴 때 기존 RDBMS와 차별적인 강점을 갖춘 DB 관리 프로그램들, 즉 Nosql을 찾게 된다.

 

NoSql 이란?

기존 RDBMS 방식을 탈피한 데이터베이스를 의미한다. RDBMS가 가지고 있는 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 가지고 있다. 문서, 그래프, 키 값, 인 메모리, 검색을 포함해 다양한 데이터 모델을 사용한다. 

RDBMS와 NON-RELATIONAL DB 차이점

 

Redis 란?

Nosql의 Key-value형태의 데이터베이스

키-값 데이터베이스는 각 항목에 키와 값이 포함되어 있는 보다 간한 유형의 데이터베이스이다. 값은 보통 키를 참조하는 방식으로만 검색이 가능하기 때문에 일반적으로 특정 키-값 쌍에 대해 쿼리를 수행하는 방법을 간단히 익힐 수 있다. 키-값 데이터베이스는 대량의 데이터를 저장해야 하지만 검색을 위해 복잡한 쿼리를 수행할 필요가 없는 사용 사례에 적합하다. 일반적인 사용자 선호도 저장 또는 캐싱에서 사용된다. 

 

 

 

 

✅Redis의 데이터 구조

레디스는 관계형 데이터 베이스가 아니므로, VARCHAR, INT, DATETIME등을 지원하지 않는다. 

 

  1. 문자열 (String) : 거의 대부분의 데이터를 문자열로 표현한다, 숫자, 날짜 및 시간등을 문자열로 저장한다.
  2. 해시 (Hash) : 해시는 필드를 가질 수 있다, 사용자 정보라는 hash가 있다면 이메일과 닉네임을 가질 수 있다.
  3. 리스트 (List) : 연결리스트(Linked list) 배열의 왼쪽, 오른쪽에 엘리먼트를 추가할 수 있다. 
  4. 셋 (Set) : 리스트와 유사한 특징을 보이지만 고유값(Distinct value)를 저장한다는 점에서 차이점이 있다. 

 

대표적인 레디스 사용법

  • 로컬 환경에서 레디스를 호출한다. AWS EC2에서 인스턴스에 레디스를 설치, 인스턴스 메모리를 사용하여 레디스를 사용한다. 인스턴스의 메모리 여유가 있다면, 사용적, 비용적 측면으로 뛰어나다. 
  • 클라우드 서비스를 이용해 외부 자원을 사용한다. 레디스 랩(https://redislabs.com/)등의 서드파티 서비스를 사용해 레디스를 사용하게 되면 통신하는 웹 서버가 아무리 많아도 하나의 프레임워크 바인딩을 사용할 수 있다. 이 경우에 레디스는 여러 웹 서버들의 공유 메모리 역할을 감당할 수 있다 

 

 

 

✅Redis 설치하기 + TUTORIAL

  1. Redis 다운로드 페이지로 이동하여 설치 프로그램 다운로드 
  2. 다운로드/설치 완료 후 작업관리자 서비스 탭에서 확인

 

 3. 설치 경로로 찾아가서 redis-cli.exe

4. ping 명령어를 입력하여 확인(pong)이 가능하다. 

set 명령어로 데이터를 key-value 형태로 입력이 가능하며 get으로 조회할 수 있다. 

 5. 명령어(Command)

 

 

 

 

 

**참고문헌

https://kitty-geno.tistory.com/133

https://brunch.co.kr/@skykamja24/575

https://github.com/DOG-NO-ANSWER-BROS/find-answer/tree/main/database/q3_NoSql%EC%9D%B4%20%EB%AC%B4%EC%97%87%EC%9D%B8%EC%A7%80%2C%20%EA%B8%B0%EC%A1%B4%20RDBMS%EC%99%80%EC%9D%98%20%EC%B0%A8%EB%B3%84%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9D%B8%EC%A7%80%20%EC%84%A4%EB%AA%85%ED%95%B4%EC%A3%BC%EC%84%B8%EC%9A%94

 

반응형