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]
> 확인
'클라우드 > AWS' 카테고리의 다른 글
장고와 Redis 연결 후 사용하기(2) - 이메일 인증(gmail사용) (0) | 2023.03.24 |
---|---|
장고와 Redis 연결 후 사용하기(1) - 로그인 세션 저장 (0) | 2023.03.24 |
AWS) AWS의 ElasticSearch, OpenSearch 사용하기 (0) | 2023.03.23 |
ElasticSearch 클러스터 구성 (0) | 2023.03.22 |
AWS) SQS 사용하여 메시지 전송 및 수신 (0) | 2023.03.21 |