Database/Redis

[Redis] redis.conf 의 파라미터 의미 파악하기

꽁담 2020. 3. 2. 03:31




INCLUDES


include


include 에 기입된 conf 파일을 읽습니다.

파라미터가 중복될 경우 마지막 파라미터를 적용하기 때문에 주의해야 합니다.


공통으로 사용해야 하는 파라미터의 경우 유용하게 사용할 수 있습니다.


1
# include /path/to/local.conf
cs



MODULES


loadmodule


서버가 시작할 때 기입된 모듈을 로드합니다.

모듈을 로드할 수 없으면 서버 구동은 실패합니다.


1
# loadmodule /path/to/other_module.so
cs


NETWORK


bind


지정한 IP로만 레디스 서버에 접속할 수 있습니다.


1
bind 127.0.0.1
cs



protected_mode


활성화되어 있고 bind 나 password 가 설정되어 있지 않으면 로컬 접속만 허용합니다.



port


레디스 서버에 접속할 수 있는 포트를 설정합니다.



tcp_backlog


초당 클라이언트 연결수를 지정합니다.


unixsocket


연결을 수신대기하는데 사용되는 소켓의 경로를 지정합니다.


timeout


클라이언트가 설정한 값동안 IDLE 상태이면 연결을 닫습니다.

0 은 닫지 않는다는 의미입니다.


tcp-keepalive


TCP 가 활성화 되어있는지를 주기적(초 단위)으로 체크합니다.

죽은 세션을 탐지할 수 있기 때문에 값을 설정하는 것이 좋습니다.



GENERAL


daemonize


서버를 시작시 background 로 구동합니다.


supervised


?


pidfile


레디스 서버가 시작될 때 pid 파일을 만들고 종료할때 pid파일을 지웁니다.

데몬으로 실행되지 않고 pid 파일이 지정되어 있지 않으면 파일을 생성하지 않습니다.

권한문제 등으로 pid 파일을 만들지 못해도 레디스 서버는 정상적으로 실행됩니다.


loglevel


로그레벨을 지정합니다.

debug, verbose, notice, warning 으로 지정할 수 있으며 우측으로 갈수록 로그내용은 줄어듭니다.


logfile


로그파일 경로를 설정합니다.


syslog-enabled


시스템 로그 작성기에 로깅을 사용하는 경우 설정합니다.


syslog-ident


시스템 로그 작성기에 로깅시 ID 값을 입력합니다.


syslog-facility


syslog 의 기능을 지정합니다.

USER 또는 LOCAL0 - LOCAL7 사이어야 합니다.


databases


데이터베이스 개수를 지정합니다.


always-show-logo


레디스 서버가 시작할 때 ASCII 로고를 보여줍니다.



SNAPSHOTTING

save


DB 를 디스크에 저장합니다.

save <seconds> <changes> 로 지정된 seconds동안 적어도 changes 이상의 키가 변경되면 저장합니다.

save 기능을 사용하지 않으려면 save "" 로 설정하면 됩니다.


stop-writes-on-bgsave-error


save 기능(RDB 스냅샷)이 활성화되어 있는 상태에서 BGSAVE가 실패하면 쓰기 명령을 받아들이지 않습니다.

이런경우 데이터가 디스크에 제대로 반영되지 않는다는 것을 관리자가 알 수 있습니다.

만약 레디스 서버 모니터링을 하고 있으면 사용하지 않도록 설정하여, 디스크나 사용권한 문제가 있는 경우에도 레디스가 정상적으로 작동할 수 있도록 할 수 있습니다.


rdbcompression


RDB 파일을 저장할 때 LZF 압축을 사용합니다.

CPU 를 좀 더 사용합니다.


rdbchecksum


RDB 파일이 손상되었는지 확인하는 기능입니다.

이 기능을 사용하면 rdb 파일을 쓰거나 읽을 때 10%정도의 성능저하가 발생합니다.


dbfilename


RDB 파일 이름을 지정합니다.


dir


파일을 쓸 때 설정한 경로에 생성합니다.



REPLICATION

replicaof

masterauth

replica-serve-stale-data

replica-read-only

repl-diskless-sync

repl-diskless-sync-delay

repl-ping-replica-period

repl-timeout

repl-disable-tcp-nodelay

repl-backlog-size

repl-backlog-ttl

replica-priority

min-replicas-to-write

min-replicas-max-lag

replica-announce-ip

replica-announce-port


SECURITY

requirepass


Password 를 설정합니다.


rename-command


명령어를 다른 이름으로 변경할 수 있습니다.

혹은 명령을 아예 사용할 수 없도록 설정할 수 있습니다.


CLIENTS


maxclients


연결할 수 있는 최대 클라이언트 개수를 설정합니다.



MEMORY MANAGEMENT

maxmemory


레디스 서버가 사용할 수 있는 메모리 한계치를 설정할 수 있습니다.


maxmemory-policy


설정한 메모리 한계치까지 사용했을 때 어떻게 할지를 설정합니다.


maxmemory-samples


몇개의 키를 알고리즘에 적용할건지를 설정합니다.


replica-ignore-maxmemory


복제서버가 마스터와 다른 maxmemory 값을 가지고 있거나 쓰기허용을 했을 경우 문제가 발생할 수 있기에 복제서버는 maxmemory 설정을 무시합니다.


lazyfree-lazy-eviction


maxmemory 정책으로 키를 삭제할 때 UNLINK 를 사용합니다.


lazyfree-lazy-expire


만료된 키를 삭제할 때 UNLINK 를 사용합니다.


lazyfree-lazy-server-del


RENAME 명령을 사용하면 기존 키와 값을 삭제하고 키 이름을 변경합니다.

YES 로 설정 시 UNLLINK 를 사용합니다.



replica-lazy-flush


전체 동기화할 때 복제 서버는 자신이 기존에 가지고 있는 모든 데이터를 지웁니다.


APPEND ONLY MODE

appendonly


기본적으로 레디스는 데이터셋을 비동기로 디스크에 저장합니다.

그러나 레디스 프로세스가 죽거나 전원이 나가면 데이터를 잃어버릴 수 있습니다.

이 기능은 AOF 파일을 사용하여 지속정을 유지하는 기능입니다.


appendfilename


AOF 파일명입니다.


appendfsync


AOF 데이터를 실제로 디스크에 저장하는 방식을 설정합니다.

always 는 매 쓰기 명령이 실행될 때마다 파일에 작성

everysec 는 1초동안의 데이터를 모아서 파일에 작성

no 는 OS 가 주기적(30초)으로 데이터를 모아서 파일에 작성


no-appendfsync-on-rewrite


?


auto-aof-rewrite-percentage

auto-aof-rewrite-min-size


레디스는 AOF 파일이 설정한 퍼센트로 커지면 내부적으로 BGREWRITEAOF 를 실행하여 자동으로 다시 씁니다.

레디스는 마지막 재작성 후의 파일크기를 기억하고 있다가 현재파일 크기가 설정한 퍼센트보다 커지면 재작성합니다.

재작성 기능을 비활성화려면 퍼센트를 0으로 설정합니다.

또한 재작성하는 최소 크기를 지정할 수 있습니다.


no-appendsync-on-rewrite


AOF 재작성이나 RDB 파일 저장 중에는 많은 디스크 IO 가 발생합니다.

이때 fsync 가 실행되면 지연이 발생할 수 있습니다.

이 옵션을 yes 로 설정하면 AOF 재작성이나 RDB 저장 중에는 fsync 를 하지 않습니다.


aof-rewrite-incremental-fsync


AOF 파일을 재작성할 때 이 옵션이 활성화되면 32mb 마다 fsycn 를 수행합니다.


aof-load-truncated


yes 시 레디스 시작시 AOF 파일을 메모리로 로드할 때, 파일이 비정상적인 경우 가능한 많은 데이터를 로드하고 관련 내용을 로그에 기록합니다. 레디스는 정상적으로 시작합니다.

no 시 레디스는 오류를 남기고 중단합니다.


aof-use-rdb-preamble


AOF 파일을 재작성할 때 RDB 파일 형식으로 작성합니다.

이 방식으로 원래 AOF 파일 형식보다 재작성과 로딩 속도가 빠릅니다.

재작성 후에는 원래 AOF 형식으로 작성됩니다.



conf 808줄 이후에는 다시