본문 바로가기
클라우드/AWS

리눅스, Redis 설치 및 사용하기

by 빈스터디 2023. 3. 24.

Redis란?

> Redis는 데이터베이스인데, 관계형 데이터베이스가 아니고, 인 메모리 데이터베이스이다.

관계형 데이터베이스는 디스크에 데이터를 저장한다.

> 데이터를 메모리(휘발성)에 저장한다. 하지만 설정을 통해서 메모리의 데이터를 디스크(비휘발성)에 저장할 수 있다.

> 데이터는 key-value 구조를 사용한다.

> 단일 스레드를 사용하기 때문에 동시에 하나의 작업만 할 수 있다.

> 메시지 브로커로도 사용할 수 있다. (Pub-Sub모델 구성 가능)

> 성능은 좋으나, 데이터가 날아갈 수도 있다.

> 캐시 저장소로 사용할 수 있다.

*캐시: 한번 읽어온 데이터를 메모리에 잠깐동안 저장하는 것

> 일정기간동안 저장했다가 삭제되는 데이터 저장

> 여러가지 데이터 타입을 저장한다. 삭제와 조회를 키를 이용한다.

 

 

Redis 설치 - Stand Alone

> 설치 및 재시작

yum -y install redis  # 설치
systemctl restart redis  # 재시작

 

 

Redis 설치 - Replication

> 가상머신 2대 준비

 

> 설치 및 재시작

yum -y install redis  # 설치
systemctl restart redis  # 재시작

 

 

> Master 설정

vi /etc/redis.conf # vi 편집기로 파일을 연다

# 아래로 바꿀 라인을 찾고 수정한다.
bind 0.0.0.0
daemonize yes	
min-replicas-to-write 1	  # 최소 복제본 수
min-replicas-max-lag 10	  # 복제 성공 시간
requirepass [password]    # 패스워드 설정

 

 

> Slave 설정

vi /etc/redis.conf  # vi 편집기로 설정파일을 연다
bind 0.0.0.0
daemonize yes	
replicaof [마스터IP] [포트번호]
masterauth [master에서 설정한 password]
replica-read-only yes

 

 

> 확인은 아래의 명령어를 입력하여 role을 확인한다.

redis-cli  # redis 접속
auth [설정한 비밀번호]
info replication # role 확인

 

 

Redis 설치 - Cluster

> 가상머신 6대 준비 (3대는 master역할, 3대는 slave역할)

 

> Master 설정

vi /etc/redis.conf # vi 편집기로 파일을 연다

# 아래로 바꿀 라인을 찾고 수정한다.
bind 0.0.0.0
daemonize yes
cluster-enabled yes 
cluster-config-file nodes.conf  	# nodes.conf는 redis 프로그램이 관리할 파일이다.
cluster-node-timeout 3000

 

> Master 설정 두 번째

redis-cli --cluster create  서버1_IP:6379 서버2_IP:6379 서버3_IP:6379

 

> Master nodes 확인

redis-cli  # redis 접속
auth [설정한 비밀번호]
cluster nodes # 클러스터 확인

 

> Slave 설정

vi /etc/redis.conf # vi 편집기로 파일을 연다

# 아래로 바꿀 라인을 찾고 수정한다.
bind 0.0.0.0
daemonize yes
cluster-enabled yes 
cluster-config-file nodes.conf  	# nodes.conf는 redis 프로그램이 관리할 파일이다.
cluster-node-timeout 3000

 

> Slave 설정 두 번째

master 하나 당 slave 하나를 대응시킨다.

redis-cli --cluster add-node [슬레이브_IP]:6379 [마스터_IP]:6379 --cluster-slave

 

> Slave nodes 확인

redis-cli  # redis 접속
cluster nodes # 클러스터 확인

 

 

Redis 접속

redis 서버에 접속하는 클라이언트가 있다.

아래의 명령어를 입력하면 된다.

redis-cli -h [서버 IP]

 

> 확인