개발일기

Redis 1탄 - Redis 간략한 개요 및 설치 본문

DB/SQL

Redis 1탄 - Redis 간략한 개요 및 설치

Flashback 2021. 6. 16. 16:49
728x90
반응형

응애 나 애기 레디스

 

1. Redis란 무엇인가?

Redis는 다양한 NoSQL 중 한 종류이다. 기존의 RDBMS (Oracle, Mysql 등)같은 관계형 데이터베이스는 값들을 테이블 형식으로 지정한 후, 값을 저장하는 타입을 뜻한다. 하지만 NoSQL은 Key, Value 형식으로 값들을 저장한다. 이러하게 값을 저장하기에 사용하기에 쉽고, 문법구문도 간단하여 SQL 처음 접하는 사람들이(?) SQL의 맛을 보기 가장 좋은 방법이기도 하다.

 

2. Redis를 활용하는 이유?

Redis를 활용하는 이유는 여러가지가 있을 수 있겠지만, 가장 주된 요소로는 속도이다. 관계형 데이터베이스에서 테이블에 속해있는 값들을 가져오는 속도와 Redis에 저장되어져 있는 값을 가져오는 속도를 비교해 보았을 때 관계형 데이터베이스보다 훠얼씬 더 빠르기에 사용을 하곤 한다. 필자는 Redis의 이러한 장점을 활용하여 Redis를 캐시서버로 활용하였다.

예를 들어 사용자가 게시글 100개를 포스팅한 후, 가져오려고 하면 100가지의 데이터를 가져와야 한다. 하지만 속도가 빠른 Redis를 데이터들을 임시저장하는 캐시서버로 활용하게 되면 더 빠르게 100가지의 데이터를 가져올 수 있다.

여기서 잠깐 헷갈릴 수 있는게 있을 것이다. 그러면 관계형 데이터베이스와 Redis에 저장하는 내용은 다른가요???라는 질문이 나올 수 있다. 정답은 아니다. -> 두 저장소에 같은 값이 저장된다. 같은 내용을 담기 위해 데이터베이스 저장소를 두개나 사용하기에 비효율적이라고 생각할 수도 있으나, 많은 사용자가 접속하고 사용하는 환경이라고 생각하면 이러한 생각은 180도 달라지게 될 것이다. 많은 사용자들의 요청을 처리하기에 속도가 느린 관계형 데이터베이스가 모든 요청을 부담하기에 버겁기 때문이다. 이러한 부담을 덜어주는 것이 바로 Redis이다. 

 

3. 그럼  Redis의 설치는?

필자는 OS를 Centos7를 활용하여 설치를 진행하였다. 게다가 yum 저장소를 활용하여 진행하였다. 

명령어는 알면 간단하게 설치를 진행할 수 있다.

 

sudo yum install redis


만약 현재, root계정으로 접속을 한 상태라면 굳이 sudo를 붙이지 않고  yum install redis 만 입력해서 설치를 진행할 수 있다. 

 

sudo systemctl restart redis
sudo systemctl enable redis

 

성공적으로 설치를 진행한 후, restart 명령으로 redis서버를 실행.

enable 명령을 통해 서버가 재부팅될 시, 자동으로 redis서버를 실행할 수 있도록 설정해준다.

 

이제 redis가 제대로 작동하는지 확인해 볼 차례이다. 

 

redis-cli

 

redis-cli를 통해 redis 클라리언트에 접속하여 다양한 명령을 날려볼 수 있다.

우선 간단하게 연결이 되었는지, 동작이 되는지를 살펴볼 것이기 때문에 ping이라는 명령어를 입력해본다.

정상적으로 설치가 된 상태라면 PONG이라는 응답이 오게 될 것이다. PONG이라는 명령어를 보게되면 설치가 완료됬다는 것을 뜻한다. 기뻐해도 좋다.

 

 

간단하게 Redis에 대한 개념과 CentOs 상에서 설치하는 방법을 알아보았다. 

http://getmedis.com/

 

Medis - GUI Manager for Redis

 

getmedis.com

redis를 명령프롬포트 창에서 확인하는 것은 시각적으로 불편함을 느낄 수 있을 것이다. 그렇기에 추천하는 것이 Medis라는 GUI툴이다. 이 툴을 활용하면 SSL 터널링을 통하여도 Redis 서버에 접속할 수 있다. 용량도 가볍고 디자인도 심플하기에 간단하게 Redis 내용들을 확인할 때 사용하기 좋을 것이다.

 

다음 포스팅에는 Redis를 활용하여 값들을 저장하고 불러오는 등의 간단한 명령어를 살펴볼 예정이다.

728x90
반응형
Comments