Database/Redis

마스터서버에서 복제서버로 Failover 하는 방법마스터가 다운되었다면 복제서버를 마스터로 변경해야 합니다.이 때 복제서버에서 사용하는 명령어 입니다. 1127.0.0.1:6380> replicaof no onecs 마스터 서버 복구 후 마스터서버로 FailBack 하는방법기존 마스터 서버 : '127.0.0.1 6379' (이하 6379)현 마스터 서버 : '127.0.0.1 6380' (이하 6380) replicaof 명령을 사용하여 failback 방법1. 6379 를 마스터로 바라보는 복제서버가 없는지 확인합니다. (복제서버의 데이터 유실 방지를 위해)2. 6379 를 마스터로 구동합니다.3. 6380 서버에서 클라이언트 접속을 차단합니다.4. 6379 에서 6380 의 복제서버로 구성하여 데이..
Redis Replication 복제 방식Redis 에서는 복제 방식으로 '전체 동기화' 와 '부분 동기화' 를 제공하고 있습니다. 전체 동기화 (Full synchronization)복제 순서1. 마스터는 자식 프로세스를 생성합니다.2. 자식 프로세스는 백그라운드로 데이터를 RDB 파일로 백업합니다.3. 백업하는 동안 마스터에 새로 들어온 명령은 처리 후 복제 버퍼에 저장합니다.4. RDB 파일 백업이 완료되면, 마스터는 파일을 복제서버로 전송합니다.4. 복제 서버는 파일을 받아 디스크에 저장하고 메모리로 로드합니다.5. 마스터는 복제버퍼에 저장된 명령을 복제서버에 전송합니다. 특이사항1. 마스터가 다운되는 경우 복제서버는 1초마다 마스터에 접속을 시도합니다.2. 마스터가 살아나면 복제서버는 복제 순서..
Redis 의 복제 (Replication 이중화)이중화 개념으로 데이터를 거의 실시간(비동기 방식)으로 다른 레디스 노드에 복사하는 방식입니다.서비스를 제공하던 마스터 노드가 다운되더라도, 복제 노드에서 서비스를 계속해서 진행할 수 있습니다. 기본적으로 복제서버는 읽기만 가능합니다.이 옵션은 redis.conf 파일의 replica-read-only 파라미터로 쓰기가 가능하게 변경할 수 있습니다. 복제(Replication 이중화)가 없을 때의 문제점1. 단일로 운영되던 Redis 가 어떤 이슈로 인해 다운된 경우 서비스를 할 수 없습니다.2. Redis 를 다시 구동하기 위해 AOF 파일을 읽을때도, 만약 파일이 크다면 읽는 시간이 오래 소요됩니다.3. 하드웨어 장애로 인해 AOF 나 RDB 파일이 ..
Redis RDB 백업 개념Redis 는 백업을 위해 RDB 방식과 AOF 방식을 지원합니다.이 중 RDB 방식에 대해 다뤄보겠습니다. RDB 방식RDB는 특정 시점의 메모리에 있는 데이터 전체를 바이너리 파일로 저장하는 방식입니다.바이너리 파일로 저장되기 때문에 사람이 읽을 수 없습니다.AOF 파일보다 사이즈가 작아 레디스 시작시 AOF 파일보다 빨리 로드할 수 있습니다. RDB 파일기본값으로 dump.rdb 파일에 기록됩니다. RDB 저장시점redis.conf 파일에서 save 파라미터로 저장 시점을 정할 수 있습니다.RDB 를 저장하지 않기 위해서는 save 명령어를 주석처리 하면 됩니다. RDB 저장 방법SAVE 혹은 BGSAVE 명령어로 RDB 를 저장합니다.SAVE 명령 시 레디스에서는 클라이..
Redis AOF 란레디스는 데이터를 메모리에 저장합니다.레디스가 내려가면 메모리 상에 있던 데이터는 모두 유실됩니다. 이 유실을 방지하기 위해 AOF 기능을 제공하고 있습니다.AOF 는 Append Only File의 약자로, 적재, 수정, 삭제 명령이 실행될 때마다 파일에 기록되며 수정이 가능합니다. AOF 는 파라미터에 따라 '명령어가 수행될 때마다; 1초마다; OS 에서 알아서' 방식으로 디스크에 쓰여집니다. Redis AOF 저장 방식 수정 명령이 실행되는 경우 레디스는 메모리에 있는 데이터 자체를 변경시킵니다.그러나 AOF 에 저장될 때는 명령어를 파일 끝에 기록만 합니다. Append 명령어를 사용해서 데이터를 수정해 보도록 하겠습니다.( Append 는 기존에 있는 키 값에 문자열을 덧붙이..
Redis AOF 백업 개념 Redis 는 백업을 위해 RDB 방식과 AOF 방식을 지원합니다. 이 중 AOF 방식에 대해 다뤄보겠습니다. AOF 방식 AOF ( Append Only File ) 방식으로 명령이 실행될 때마다 해당 명령이 파일에 기록됩니다. 데이터 손실이 거의 없습니다. * 거의라고 표현하는 이유는 명령이 실행되면 바로 작성하는게 아니라, 버퍼에 두었다가 주기적으로 파일에 쓰는 방식이기 때문입니다. AOF 파일 기본값으로 appendonly.aof 파일에 기록됩니다. 조회 명령을 제외한 입력/수정/삭제 명령이 실행될 때마다 버퍼에 기록 후 파일로 동기화됩니다. AOF Rewrite 기능 특정 시점에 데이터 전체를 다시 쓰는 기능(rewrite)이 있습니다. 파일이 너무 커지면 OS 파일..
INCLUDES include include 에 기입된 conf 파일을 읽습니다.파라미터가 중복될 경우 마지막 파라미터를 적용하기 때문에 주의해야 합니다. 공통으로 사용해야 하는 파라미터의 경우 유용하게 사용할 수 있습니다. 1# include /path/to/local.confcs MODULES loadmodule 서버가 시작할 때 기입된 모듈을 로드합니다.모듈을 로드할 수 없으면 서버 구동은 실패합니다. 1# loadmodule /path/to/other_module.socs NETWORK bind 지정한 IP로만 레디스 서버에 접속할 수 있습니다. 1bind 127.0.0.1cs protected_mode 활성화되어 있고 bind 나 password 가 설정되어 있지 않으면 로컬 접속만 허용합니다...
Redis 통계정보 확인 방법--stat 옵션을 사용하여 통계정보를 확인할 수 있습니다.-i 옵션은 5초에 한번씩 재 수집을 하겠다는 의미입니다. 1234$ redis-cli --csv -i 5 --stat------- data ------ --------------------- load -------------------- - child -keys mem clients blocked requests connections 10 1.82M 1 0 39 (+0) 27cs 통계정보의 의미 통계정보 의미 keys 현재 Redis 서버에 있는 key 의 개수 mem 현재 Redis 서버에서 사용하는 메모리 clients 현재 Redis 서버에 연결된 클라이언트 수 blocked 특정 명령으로 대기중인 클라이언트 ..
클라이언트를 사용하여 서버에 접속하는 방법 1. redis-cli 명령어를 사용하여 Redis 서버에 접속할 수 있습니다. 12$ redis-cli127.0.0.1:6379>cs 추가 옵션 * 자주 사용될법한 옵션들을 정리하였습니다. 1. 특정 포트로 접속하는 방법-p 옵션을 사용하여 접속할 수 있습니다. 12$ redis-cli -p 6379127.0.0.1:6379>cs 2. 텍스트 파일을 읽어서 Redis 서버에 반영하는 방법--pipe 옵션을 사용하여 적재할 수 있습니다. 12345678910111213141516$ cat sample.txtset key0 value0set key1 value1set key2 value2set key3 value3set key4 value4set key5 valu..
Redis 실행 시 문제점 Redis 를 실행하는 경우 foreground 에서 동작합니다.즉 실행한 세션을 종료하거나 'Ctrl + C' 키를 입력하는 경우 Redis 데몬이 죽게됩니다. 이 문제를 방지하기 위해 background 로 동작하도록 옵션을 설정할 수 있습니다.이 때는 logfile 을 꼭 지정해야 합니다. 지정하지 않으면 로그가 날아갑니다. Redis 백그라운드 실행 방법 1. redis.conf 파일의 deamonize 옵션을 yes 로 변경합니다.2. redis.conf 파일의 logfile 에 절대경로와 파일명을 입력합니다. 12345$ grep "daemonize" redis.confdaemonize yes $ grep "logfile" redis.conflogfile "/home..
꽁담
'Database/Redis' 카테고리의 글 목록 (3 Page)