레디스 구성
Redis 구성 파일은 Redis 설치 디렉터리에 있으며, 파일명은 redis.conf입니다.
CONFIG 명령을 통해 구성 항목을 보거나 설정할 수 있습니다.
Syntax
Redis CONFIG 명령 형식은 다음과 같습니다.
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
Instance
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
모든 구성 항목을 가져오려면 * 번호를 사용하세요.
Instance
redis 127.0.0.1:6379> CONFIG GET * 1) "dbfilename" 2) "dump.rdb" 3) "requirepass" 4) "" 5) "masterauth" 6) "" 7) "unixsocket" 8) "" 9) "logfile" 10) "" 11) "pidfile" 12) "/var/run/redis.pid" 13) "maxmemory" 14) "0" 15) "maxmemory-samples" 16) "3" 17) "timeout" 18) "0" 19) "tcp-keepalive" 20) "0" 21) "auto-aof-rewrite-percentage" 22) "100" 23) "auto-aof-rewrite-min-size" 24) "67108864" 25) "hash-max-ziplist-entries" 26) "512" 27) "hash-max-ziplist-value" 28) "64" 29) "list-max-ziplist-entries" 30) "512" 31) "list-max-ziplist-value" 32) "64" 33) "set-max-intset-entries" 34) "512" 35) "zset-max-ziplist-entries" 36) "128" 37) "zset-max-ziplist-value" 38) "64" 39) "hll-sparse-max-bytes" 40) "3000" 41) "lua-time-limit" 42) "5000" 43) "slowlog-log-slower-than" 44) "10000" 45) "latency-monitor-threshold" 46) "0" 47) "slowlog-max-len" 48) "128" 49) "port" 50) "6379" 51) "tcp-backlog" 52) "511" 53) "databases" 54) "16" 55) "repl-ping-slave-period" 56) "10" 57) "repl-timeout" 58) "60" 59) "repl-backlog-size" 60) "1048576" 61) "repl-backlog-ttl" 62) "3600" 63) "maxclients" 64) "4064" 65) "watchdog-period" 66) "0" 67) "slave-priority" 68) "100" 69) "min-slaves-to-write" 70) "0" 71) "min-slaves-max-lag" 72) "10" 73) "hz" 74) "10" 75) "no-appendfsync-on-rewrite" 76) "no" 77) "slave-serve-stale-data" 78) "yes" 79) "slave-read-only" 80) "yes" 81) "stop-writes-on-bgsave-error" 82) "yes" 83) "daemonize" 84) "no" 85) "rdbcompression" 86) "yes" 87) "rdbchecksum" 88) "yes" 89) "activerehashing" 90) "yes" 91) "repl-disable-tcp-nodelay" 92) "no" 93) "aof-rewrite-incremental-fsync" 94) "yes" 95) "appendonly" 96) "no" 97) "dir" 98) "/home/deepak/Downloads/redis-2.8.13/src" 99) "maxmemory-policy" 100) "volatile-lru" 101) "appendfsync" 102) "everysec" 103) "save" 104) "3600 1 300 100 60 10000" 105) "loglevel" 106) "notice" 107) "client-output-buffer-limit" 108) "normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60" 109) "unixsocketperm" 110) "0" 111) "slaveof" 112) "" 113) "notify-keyspace-events" 114) "" 115) "bind" 116) ""
Edit 구성
수정할 수 있습니다. redis.conf 파일을 사용하거나 CONFIG set 명령을 사용하여 구성을 수정합니다.
Syntax
CONFIG SET 기본 명령 구문:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
Example
redis 127.0.0.1:6379> CONFIG SET loglevel "notice" OK redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
매개변수 설명
redis.conf 구성 항목 설명은 다음과 같습니다.
1. Redis는 기본적으로 데몬으로 실행되지 않습니다. 이것을 사용할 수 있습니다. 구성 항목을 수정하고 yes를 사용하여 데몬을 활성화합니다.
daemonize no
2 Redis가 데몬으로 실행되면 Redis는 /var/run/redis.pid 파일에 pid를 기록합니다. 기본적으로 pidfile을 통해 전달될 수 있습니다.
pidfile /var/run/redis.pid3을 지정합니다. Redis 수신 포트는 6379입니다. 작성자는 자신의 블로그 게시물 중 하나에서 설명했습니다. 6379가 기본 포트로 선택된 이유는 6379가 전화 버튼의 MERZ에 해당하는 번호이고, MERZ는 이탈리아 가수 Alessia Merz의 이름에서 따왔기 때문입니다.
포트 6379
4 호스트 주소 바인딩 bind. 127.0.0.1
5.when 연결을 종료하기 전에 클라이언트가 유휴 상태일 기간을 0으로 지정하면 이 기능이 꺼지는 것을 의미합니다 timeout 300
6. Redis는 디버그, 상세, 알림, 경고의 총 4가지 레벨을 지원합니다. 기본값은 verbose loglevel verbose
7이며, Redis가 다음으로 구성된 경우 기본값은 표준 출력입니다. 데몬 모드에서 실행하고 로깅 모드가 표준 출력으로 구성되면 로그는 /dev/null
logfile stdout8로 전송됩니다. 데이터베이스 수를 설정합니다. 기본 데이터베이스는 0입니다. SELECT <dbid> 명령을 사용하여 연결 databases 16
9에서 기간과 업데이트 작업 수를 지정한 다음 데이터를 데이터 파일에 동기화합니다. . 여러 조건을 일치시킬 수 있습니다 save <seconds> <changes>
Redis 기본 구성 문서에는 세 가지 조건이 제공됩니다. save 900 1
save 300 10
save 60 10000
은 900초(15분) 이내에 1번 변경, 300초(5분) 이내에 10번 변경, 60초 이내 0000번 변경을 의미합니다.
10. 로컬 데이터베이스에 저장할 때 데이터를 압축할지 여부를 지정합니다. 기본값은 예입니다. Redis는 CPU 시간을 절약하려면 이 옵션을 해제할 수 있습니다.
rdbcompression yes
11. 로컬 데이터베이스 파일 이름을 지정합니다. 기본값은 dump.rdb
dbfilename dump.rdb
12입니다. 디렉토리
dir ./
13. 로컬 머신이 슬레이브를 제공할 때 설정하고, Redis가 시작되면 자동으로 마스터의 데이터를 동기화합니다. Slaveof<masterip> 마스터 서비스가 비밀번호로 보호되어 있는 경우 마스터에 연결하기 위한 slav 서비스의 비밀번호
masterauth <master-password>
15. 연결 비밀번호를 설정합니다. 구성되어 있으면 Redis에 연결할 때 클라이언트에 필요합니다. AUTH <password> 명령을 통해 비밀번호를 입력하세요. 이 명령은 기본적으로 꺼져 있습니다.
requirepass foobared
16. 기본값은 무제한입니다. Redis가 동시에 열 수 있는 클라이언트 연결 수는 Redis 프로세스가 열 수 있는 만큼입니다. maxclients가 0으로 설정되면 제한이 없습니다. 클라이언트 연결 수가 제한에 도달하면 Redis는 새 연결을 닫고 최대 클라이언트 수에 도달했음 오류 메시지를 클라이언트에 반환합니다.
maxclients 128
17 Redis의 최대 메모리 제한을 지정합니다. Redis는 최대 메모리에 도달한 후 먼저 만료되거나 만료되는 키를 지우려고 시도합니다. 이 방법이 처리되면 여전히 최대 메모리 설정에 도달하고 쓰기 작업은 더 이상 가능하지 않습니다. 여전히 가능합니다. 읽기 작업을 수행하십시오. Redis의 새로운 VM 메커니즘은 메모리에 키를 저장하고 스왑 영역에 값을 저장합니다
maxmemory<bytes>
18. 각 업데이트 작업 후 로그 여부를 지정합니다. Redis는 기본적으로 데이터를 디스크에 비동기적으로 기록합니다. 켜져 있지 않으면 정전 중에 일정 기간 동안 데이터가 손실될 수 있습니다. Redis 자체는 위의 저장 조건에 따라 데이터 파일을 동기화하기 때문에 일부 데이터는 일정 기간 동안 메모리에만 존재하게 됩니다. 기본값은 no
appendonly no
19입니다. 업데이트 로그 파일 이름을 지정합니다. 기본값은appendonly.aof
appendfilenameappendonly.aof
20입니다. 3가지 옵션을 사용할 수 있습니다. 값:
no: 운영 체제가 데이터 캐시를 디스크에 동기화할 때까지 기다리는 것을 나타냅니다(빠름).
always: 디스크에 데이터를 쓰기 위해 fsync()를 수동으로 호출함을 나타냅니다. 각 업데이트 작업 후(느림, 안전)
everysec: 초당 한 번 동기화를 나타냅니다(손상, 기본값)
appendfsync Everysec
21. 기본값은 no, 간략한 소개입니다. VM 메커니즘은 데이터를 페이지에 저장하고 Redis는 방문자가 적은 페이지, 즉 콜드 데이터를 디스크로 스왑하고 많이 방문한 페이지는 디스크에서 자동으로 스왑 아웃합니다. (나중에 Redis의 VM 메커니즘을 자세히 분석하겠습니다.)
vm-enabled no
22. 가상 메모리 파일 경로는 /tmp/redis.swap이며, 변경할 수 없습니다. 여러 Redis 인스턴스에서 공유
vm-swap-file /tmp/redis.swap 23. vm-max-memory가 아무리 작더라도 vm-max-memory보다 큰 모든 데이터를 가상 메모리에 저장합니다. 설정은 모든 인덱스 데이터가 메모리에 저장된다는 것입니다(Redis의 인덱스 데이터는 키임). 즉, vm-max-memory를 0으로 설정하면 실제로 모든 값이 디스크에 존재하게 됩니다. 기본값은 0
vm-max-memory 024입니다. Redis 스왑 파일은 여러 페이지에 나누어 저장할 수 있지만, 한 페이지를 여러 VM에서 공유할 수는 없습니다. -페이지 크기는 저장된 데이터의 크기에 따라 설정됩니다. 저자는 작은 개체를 많이 저장하는 경우 페이지 크기를 32바이트 또는 64바이트로 설정하는 것이 가장 좋습니다. 페이지 테이블(페이지를 나타내는 비트맵)이 확실하지 않은 경우 기본값인
vm-page-size 3225를 사용하세요. 무료이거나 사용됨)이 메모리에 배치되면 디스크의 8페이지마다 1바이트의 메모리가 소비됩니다.
vm-pages 134217728
26. 스왑 파일에 액세스할 스레드 수를 설정합니다. 0으로 설정하면 머신의 코어 수를 초과하지 않는 것이 가장 좋습니다. 스왑 파일은 직렬이므로 비교적 긴 지연이 발생할 수 있습니다. 기본값은 4
vm-max-threads 4
27입니다. 더 작은 패킷을 하나의 패킷으로 결합하여 클라이언트에 응답할 때 보낼지 여부를 설정합니다. 기본값은
glueoutputbuf yes입니다.
28 특정 숫자 또는 가장 큰 요소가 특정 임계 값을 초과할 때 사용할 특수 해시 알고리즘을 지정합니다.
hash-max-zipmap-entries 64
hash- max-zipmap- 값 512
29. 기본값은 on입니다. (자세한 내용은 나중에 Redis 해시 알고리즘을 도입할 때 소개하겠습니다.)
activerehashing yes
30. 파일을 사용하면 동일한 호스트의 여러 Redis 인스턴스 간에 동일한 구성 파일을 사용할 수 있으며 각 인스턴스에는 고유한 특정 구성 파일이 있습니다
include /path/to/local.conf