[Ruby On Rails] Redis 사용하기

sunaaa·2021년 4월 17일
2

Ruby On Rails

목록 보기
16/20

Redis ?

REDIS는 다음 특징을 갖는 data structure 이다.
1. Remote 에 위치한
2. 프로세스로 존재하는
3. In-Memory : 메모리 기반의
4. “키-값” 구조 데이터 관리 시스템 : 비 관계형이며, 키-값 구조이기 때문에 별도 쿼리 없이도 데이터를 간단히 가져올 수 있다.

Redis 왜 쓰나?

  • 과거 서버와 클라이언트의 작동방식이, 웹서버가 Database에 바로 참조는 방식이었음. 그런데 이 경우 문제점이 하나 발생함.
  • WHAT ?
    : 너무 많은 서버의 요청으로 인해 잦은 DB 접근을 할 시, (과도한) 부하로 인해 DB가 죽거나 속도가 느려질 수 있음.
  • SO ?
    : 레디스 서버가 나오게 됨. Redis는 서버의 메모리에 데이터를 저장하는 방식임.
  • HOW ?
    : 최초에 웹서버에 접속할 때에는 DB서버를 참조를 하지만, 이 때 DB서버를 참조를 하면서 메모리에 Key-Value로 이루어진 데이터를 저장하게 됨
    : 그리고 두번째 부터는 Key를 참조해서 Value를 불러오는 방식
    : 사용자로부터 'A'라는 요청 들어올 경우, 과거와 같이 DB에 직접 탐색을 하는게 아닌 사전에 Redis 메모리에 Key-Value를 등록한 값을 통해 조회를 하는 방식임

일단 사용해보자

  • 주의 : 아래 방식은 루비에서 레디스를 사용하는 방식이 아님
  • 루비에서 사용할 경우 레디스-루비 공식문서 참고

레디스 설치

# 외부 서버로부터 redis 설치 파일을 받아온 후, Redis를 설치합니다.
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
# 서버 내에 Redis 공간을 마련해줍니다.
# 그리고 실행파일(redis-server)과 Redis 설정파일(redis.conf)을 Copy/Paste 합니다.
sudo mkdir /etc/redis 
sudo mkdir /var/lib/redis
sudo cp src/redis-server src/redis-cli /usr/local/bin/
sudo cp redis.conf /etc/redis/

# 만약 AWS EC2 사용하려면
# AWS EC2에서 Redis-server 이 돌아가게 하도록 EC2에 맞춘 redis-server 패키지 설치를 진행합니다.
cd /tmp
wget https://raw.github.com/saxenap/install-redis-amazon-linux-centos/master/redis-server

sudo make install

# redis-server을 실행합니다.
redis-server

# 레디스 설정(암호 등)파일 : /etc/redis/redis.conf
# 레디스 서버 끄기 : Ctrl + C

레디스 작동확인 테스트

🎁 미래에 나에게 주는 자료

profile
Be Playful Front-end Developer

2개의 댓글

comment-user-thumbnail
2021년 4월 18일

글 잘 보고 갑니다 ~~ 백엔드로 준비하시는 분이신가 봐요 ~~

1개의 답글