REDIS 설치가이드¶
1. 개요¶
1-1. 목적¶
본 문서는 (주)유라클에서 제공하는 모피어스 제품군 중 “MSP Server Platform - Push”의 원활한 설치를 할 수 있도록 제품 설치에 관련한 설명과 수행 절차를 나타내는 것을 목적으로 한다. 본 문서는 Push 기능 중 Redis 설치에 관한 내용을 기술하고 있다.
1-2. 고려 사항¶
본 문서는 성능 개선, 기능 추가 등의 사항으로 내용이 변경 될 수 있다.
2. REDIS 서버 구성도¶
2-1 REDIS 서버 구성 개념도¶
2-2 구성 요소¶
Server
주요 역할
주요 기능
REDIS
REDIS MASTER SERVER
REDIS SLAVE1 SERVER
REDIS SLAVE2 SERVER
MEMORY DB
사용자정보 저장
REDIS
SENTINEL
REDIS SENTINEL1
REDIS SENTINEL2
REDIS SENTINEL3
REDIS MASTER<->
REDIS SLAVE1,2 간
MASTER SLAVE 관리
3. REDIS 설치¶
3-1 REDIS설치¶
설치를 할 서버에 로그인
설치 파일을 설치할 디렉토리에업로드한다.
ex) redis-3.0.7.tar.gz
압축을 해제한다.
ex) tar xvzf redis-3.0.7.tar.gz
cd redis-3.0.7/ 메인폴더 이동
redis-3.0.7/make
redis-3.0.7/make install
06.REDIS/redis-start.sh, 06.REDIS/redis-stop.sh,
06.REDIS/sentinel-start.sh, 06.REDIS/ sentinel-stop.sh
(release 폴더 참조)
4개의 파일 모두 redis-3.0.7/ 폴더에 복사
3-2. REDIS 핵심 파일 목록¶
파일 경로
설명
redis.conf
redis설정파일
src/ redis-server
Redis 실행파일
sentinel.conf
Redis-sentinel 설정파일
src/redis-sentinel
Redis Sentinel 실행파일
redis-start.sh
Redis 실행 스크립트
redis-stop.sh
Redis 중지 스크립트
sentinel-start.sh
Sentinel 실행 스크립트
sentinel-stop.sh
Sentinel 중지 스크립트
4. 설정¶
4-1. REDIS MASTER 설정¶
$ vi redis.conf
logfile “redis-3.0.7/logs/redis.log”
redis 로그파일 위치 (mkdir logs - logs폴더 생성)
appendonly yes
메모리 디스크에 저장여부
bind 내부IP
주의!!!! 보안상 반드시 내부 IP사용
appendfsync everysec
메모리 디스크에 저장 주기
no : os가 자동으로 저장(가장빠름)
always : redis update마다 저장(가장느림)
everysec: 매 초당 redis update 내용저장(보통)
4-2. REDIS SLAVE 설정¶
$ vi redis.conf
logfile “redis-3.0.7/logs/redis.log”
redis 로그파일 위치 (mkdir logs - logs폴더 생성)
appendonly yes
메모리 디스크에 저장여부
bind 내부IP
주의!!!! 보안상 반드시 내부 IP사용
appendfsync everysec
메모리 디스크에 저장 주기
no : os가 자동으로 저장(가장빠름)
always : redis update마다 저장(가장느림)
everysec: 매 초당 redis update 내용저장(보통)
slaveof 11.22.33.44 6379
마스터 IP PORT 입력
4-3. REDIS-SENTINEL 설정¶
$ vi sentinel.conf
sentinel monitor mymaster <master_ip> <master_port> <quorum>
Redis master 설정
<master_ip> : redis master ip
<master_port> : redis master port
<quorum> : failover처리에대한 sentinel 투표 수
logfile “redis-3.0.7/logs/redis.log”
Sentinel log 위치 설정((mkdir logs - logs폴더 생성))
6. 유용한 REDIS 명령어¶
REDIS 접속명령어 : redis-cliex) redis-cli
Database 선택명령어 : select [database]ex) select 9 KEY 테이블 전체 조회명령어 : keys [database] (**** keys 명령어를 사용하면 full scan일 발생됨으로 redis lock 가 발생. 서비스 중 사용을 권장하지 않음.)ex) keys * HASHKEY 테이블 한껀 Value 정보 가져오기명령어 : hget [해시키테이블명] [조회할 키명]ex) hget com.uracle.push.test:CUID test01 HASHKEY 테이블 전체 Value 정보 가져오기명령어 : hgetall [해시키테이블명]ex) hgetall com.uracle.push.test:CUID HASHKEY 테이블에서 Key 검색하기명령어 : hscan [해시키테이블명] [database] [MATCJ 검색어] [COUNT 검색ROW 수]ex) hscan com.uracle.push.test:PUSHUSER 9 MATCH a23* COUNT 3HASHKEY에 저장된 SIZE 조회하기
명령어 :hlen [해시키테이블명]
ex) hlen com.uracle.push.test:PUSHUSER