default : 127.0.0.1
redis가 bind할 interface 설정이다.
default : yes
bind 설정된 ip만 접속 가능하게 설정하는 모드
default : 6379
해당 redis가 잡고 올라가는 port 설정
default : 511
redis 서버의 초당 클라이언트 연결 개수이다.
default : 0
클라이언트에서 서버에 접속할 때 timeout 값이다.
0일 시 항상 connection을 열어둔다.
default : 300
클라이언트가 죽었을 때 redis 서버가 확인해서 클라이언트와의 접속을 제거하는 시간이다.
📌
default : ""
redis 서버에 password를 설정
default : no
redis 서버를 데몬으로 실행 여부 설정
default : no
Systemd 또는 upstart로 레디스 서버를 시작했을 때 사용하는 파라미터입니다.
default : /var/run/redis_6379.pid
pid 경로 및 파일명 설정
default : notice
로그 레벨 설정
debug > verbose > notice > warning 순서
default : ""
log 경로 및 파일명 설정
default : 16
redis 여러 개의 DB를 가질 수 있다.
DB 번호를 0부터 설정한 개수 만큼 DB를 갖는다.
redis에서 DB는 서로 다른 키 공간이다.
클러서터 모드에서는 데이터베이스가 하나만 존재한다.
default : yes
redis가 시작될 때 ASCII 로고를 보여준다.
📌
default : ""
메모리에 있는 전체 데이터를 디스크에 저장하는 옵션
save <seconds> <changes>
지정된 시간 동안 지정된 개수 이상의 키가 변경되면 DISK 저장
default : yes
RDB 스냅샷 그닝이 활성화 되어 있다면 BGSAVE가 실패하면 레디스 서버는 쓰기 명령을 받아들이지 않는 설정
default : yes
RDB 파일로 덤프할 때 텍스트 부분을 압축하여 파일 사이즈를 줄인다.
default : yes
RDB 파일이 손상되어있는지 확인하는 기능이다.
default : dump.rdb
RDB 파일 이름 설정
default : no
redis 서버를 재 기동 하거나 전체 동기화 후 동기화에 사용된 RDB 파일을 삭제 유무를 설정하는 옵션
default : ./
dbfilename로 설정해준 rdb 파일이 저장되는 dir 경로
default : yes
복제 서버가 마스터와 연결이 끊겼을 때 클라이언트 요청 응답 유무 설정
default : yes
복제 서버에 조회 전용 여부 설정
default : no
전체 데이터 동기화 방식 선택
no -> 디스크
yes -> 소켓
default : 5
소켓 복제의 경우 여러 복제 요청을 한번에 처리할 수 있도록 전송 시작 시간 설정
default : disabled
RDB 파일을 만들지 않고 복제 방법 선택
[ disabled | on-empty-db | swapdb ]
on-empty-db : 복제서버에 키가 없을 경우 diskless 기능을 사용하지 않습니다. 데이터가 있으면 rdb 파일을 생성
swapdb : 복제서버에 키 여부와 상관없이 diskless 로 동작
default : no
마스터와 슬레이브 같 전체 동기화가 될 때 데이터를 모아서 큰 패킷으로 전송할 지 여부 설정
default : 100
마스터가 다운되었을 때 슬레이브가 여러 대 있으면 어느 서버가 마스터가 될지 우선순위를 설정하는 옵션
숫자가 적을 수록 우선순위가 높다.
0 : 특별한 값으로 마스터가 되지 않도록 하는 값
DEL: 명령이 실행되면 바로 데이터를 삭제
UNLINK: 명령이 실행되면 일단 키는 지우고 남은 맴버는 별도 쓰레드인 LAZY_FREE에서 삭제
default : no
yes 시 키를 삭제할 때 UNLINK를 사용
default : no
yes 시 expired 키를 삭제할 때 UNLINK를 사용
default : no
yes 시 RENAME 명령어 사용할 시 키를 삭제할 때 UNLINK를 사용
RENAME : 기존 키와 값을 삭제하고 키 이름을 변경
default : no
yes 시 전체 동기화 시 복제 서버는 자신이 기존에 가지고 있는 모든 데이터를 Flushall async로 지운다.
📌
default : no
aof 파일 추가 사용 여부 설정
무~~조건 yes
default : appendonly.aof
aof 파일 이름 설정
default : no
aof 재 작성이나 rdb파일 저장 중 많은 디스크 I/O가 발생한다. fsync()가 실행되면 지연이 발생할 수 있다.
이 때 yes로 설정하면 AOF/RDB 파일 저장 중에는 fsync()를 실행하지 않는다.
default : 100
aof 파일 재 작성하는 최소 크기 퍼센트 설정이다.
작은 파일이 자주 재 작성되는 것을 막을 수 있다.
default : 64mb
aof 파일 재 작성하는 최소 크기 설정이다.
작은 파일이 자주 재 작성되는 것을 막을 수 있다.
default : yes
redis 시작 시 aof 파일을 메모리로 로드하는데 로드 중 파일이 깨지거나 잘 못되면,
yes로 설정 시 => 가능한 많은 데이터를 로드하고 관리자에게 알리기 위해 내용을 로그로 올리고 정상적으로 시작한다.
no로 설정 시 => 오류를 남기고 중단한다.
default : yes
aof 파일을 재 작성할 때, RDB 파일 형식으로 작성한다.
aof 파일 형식보다 재 작성과 로딩 속도가 빠르다.
재 작성 후에 원래 aof 형식으로 쓰여진다.
default : 5000
루아 스크립트 최대 실행 시간
default : 10000
slow log 는 실행 시간을 초과하는 쿼리들을 기록에 남기는 시스템이다.
10000 -> 10ms
default : 128
설정 만큼 메모리를 사용한다.
default : 0
레디스 내부 처리 시간 모니터 여부
0
이면 설정 비 활성화
default : ""
레디스 키 변경 이벤트 클라이언트에게 알림 유무 설정
default : 512
Hash에 포함된 필드의 종류가 설정한 값보다 크면 Hash Table 혹은 Zip Map으로 인코딩
default : 512
Hash에 포함된 필드의 값 중 가장 긴 값의 길이가 설정한 값 보다 크면 Hash Table 혹은 Zip Map으로 인코딩
default : -2
list에 포함된 값이 설정한 값 보다 크면 Linked List 혹은 Zip List로 인코딩 된다.
-5: max size: 64 Kb
-4: max size: 32 Kb
-3: max size: 16 Kb
-2: max size: 8 Kb <-- 디폴트
-1: max size: 4 Kb
default : 0
리스트 데이터 압축 설정
0: 모든 노드를 압축하지 않습니다.
1: 앞, 뒤 양쪽 노드 하나씩 압축하지 않고 가운데 노드 모두를 압축합니다.
[head]->node->node->...->node->[tail]
2: 양쪽 노드 두 개씩 압축하지 않고 가운데 노드는 압축합니다.
[head]->[next] ->node->node->...->node-> [prev]->[tail]
3: [head]->[next]->[next] ->node->node->...->node-> [prev]->[prev]->[tail]
4,5,...
set-max-intset-entries
default : 512
Set에 포함된 요소의 개수가 설정한 값보다 크거나 정수가 아닌 요소가 하나라도 포함되어 있다면 HashTable 혹은 Int Set으로 인코딩 된다.
zset-max-ziplist-entries
default : 128
Sorted Set 포함된 필드의 종류가 설정한 값보다 크면 Skip List 혹은 Zip List으로 인코딩
zset-max-ziplist-value
default : 64
Sorted Set에 포함된 필드의 값 중 가장 긴 값의 길이가 설정한 값 보다 크면 Skip List 혹은 Zip List으로 인코딩
클라이언트 출력 버퍼 제한은 어떤 이유로 든 서버에서 데이터를 빨리 읽지 않는 클라이언트의 연결을 강제로 해제하는 데 사용된다.
client-output-buffer-limit
default : normal 0 0 0
일반 클라이언트
default : replica 256mb 64mb 60
복제 클라이언트
default : pubsub 32mb 8mb 60
Pub/Sub 클라이언트
hz
default : 10
레디스는 내부적으로 타임아웃된 클라이언트 연결 해제, 만료된 키 삭제와 같은 많은 백그라운드 작업을 수행한다.
모든 작업이 동일한 빈도로 수행되는 것은 아니지만, 레디스는 지정된 "hz" 값에 따라 수행할 작업을 확인한다.
dynamic-hz
default : yes
10 이상 더 많은 클라이언트가 연결될 때 필요에 따라 hz 배수를 사용한다.
aof-rewrite-incremental-fsync
default : yes
AOF 파일을 재 작성할 때, 이 옵션이 활성화되면 매 32mb 마다 fsync를 수행한다.
대량 디스크 I/O로 인한 문제를 줄이는 방법이다.
rdb-save-incremental-fsync
default : yes
RDB 파일을 저장할 때, 이 옵션이 활성화 되면 32mb 마다 fsync를 수행합니다. 이는 디스크 I/O 경합을 피하는 방법이다.
📌 여담
📚 참고