English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Redis 설정 파일은 Redis 설치 디렉토리에 위치하며 파일 이름은 redis.conf(Windows에서는 redis.windows.conf)입니다。
당신은 다음으로 CONFIG 명령어로 설정을 확인하거나 설정을 설정합니다。
Redis CONFIG 명령어 형식은 다음과 같습니다:
redis 127.0.0.1:6379> CONFIG GET CONFIG_SETTING_NAME
redis 127.0.0.1:6379> CONFIG GET loglevel 1) "loglevel" 2) "notice"
使用 * 号获取所有配置项:
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) ""
redis.conf 파일을 수정하거나 CONFIG set 명령어를 통해 구성을 수정합니다.
CONFIG SET 명령어 기본 문법:
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
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 | daemonize no | Redis는 기본적으로 데몬 프로세스로 실행되지 않으며, 이 설정 항목을 통해 수정할 수 있습니다. yes를 사용하여 데몬 프로세스를 활성화합니다(Windows는 데몬 스레드 설정을 no로 지정하지 않습니다). |
2 | pidfile /var/run/redis.pid | Redis가 데몬 프로세스로 실행될 때, Redis는 기본적으로 pid를 /var/run/redis.pid 파일은 pidfile을 통해 지정할 수 있습니다. |
3 | port 6379 | Redis가 리스닝하는 포트를 지정합니다. 기본 포트는 6379작가는 자신의 한 포스트에서 이유를 설명했습니다. 6379 기본 포트로 사용되는 이유는 6379 스마트폰 키에서 MERZ와 일치하는 번호가 있으며 MERZ는 이탈리아 가수 Alessia Merz의 이름에서 따왔습니다. |
4 | bind 127.0.0.1 | 바인딩된 호스트 주소 |
5 | timeout 300 | 클라이언트가 얼마나 많은 초 동안 비활성 상태이면 연결을 종료하겠다. 0으로 지정되면 이 기능을 종료합니다. |
6 | loglevel notice | 로그 기록 수준을 지정합니다. Redis는 총 네 가지 수준을 지원합니다: debug, verbose, notice, warning. 기본적으로 notice입니다. |
7 | logfile stdout | 로그 기록 방식을 설정합니다. 기본적으로 표준 출력입니다. Redis가 데몬 모드로 실행되고, 여기서 로그 기록 방식이 표준 출력으로 설정되면, 로그는 /dev/null |
8 | databases 16 | 데이터베이스의 수를 설정합니다. 기본 데이터베이스는 0입니다. SELECT 명령을 사용하여 연결에서 데이터베이스 id를 지정할 수 있습니다. |
9 | save <seconds> <changes> Redis 기본 설정 파일에 세 가지 조건이 제공됩니다: save 900 1 save 300 10 save 60 10000 각각 900 초(15 분) 내에 1 개 변경,300 초(5 분) 내에 10 개 변경 및 60 초 내에 10000 개 변경. | 얼마나 많은 시간 동안, 얼마나 많은 변경 사항이 있으면 데이터를 데이터 파일에 동기화할지 설정합니다. 여러 조건을 함께 사용할 수 있습니다. |
10 | rdbcompression yes | 로컬 데이터베이스에 저장할 때 데이터를 압축할지 설정합니다. 기본적으로 yes입니다. Redis는 LZF 압축을 사용합니다. CPU 시간을 절약하기 위해 이 옵션을 꺼둘 수 있지만, 데이터베이스 파일이 매우 크게 될 수 있습니다. |
11 | dbfilename dump.rdb | 로컬 데이터베이스 파일 이름을 지정합니다. 기본 값은 dump.rdb입니다 |
12 | dir ./ | 로컬 데이터베이스 저장 디렉토리를 지정합니다 |
13 | slaveof <masterip> <masterport> | 이 머신이 슬라브 서비스로 설정되어 있을 때, 마스터 서비스의 IP 주소 및 포트를 설정합니다. Redis가 시작할 때, 마스터에서 자동으로 데이터 동기화를 수행합니다. |
14 | masterauth <master-password> | 마스터 서비스가 비밀번호 보호를 설정했을 때, 슬라브 서비스가 마스터에 연결할 비밀번호 |
15 | requirepass foobared | Redis 연결 비밀번호를 설정합니다. 연결 비밀번호가 설정되어 있으면, 클라이언트는 Redis에 연결할 때 AUTH <password> 명령을 통해 비밀번호를 제공해야 합니다. 기본적으로 비밀번호는 꺼져 있습니다. |
16 | maxclients 128 | 동시에 최대 클라이언트 연결 수를 설정합니다. 기본적으로 제한이 없습니다. Redis가 동시에 열 수 있는 클라이언트 연결 수는 Redis 프로세스가 열 수 있는 최대 파일 디스크립터 수입니다. maxclients 0을 설정하면 제한이 없음을 의미합니다. 클라이언트 연결 수가 제한에 도달하면 Redis는 새 연결을 종료하고 클라이언트에게 'max number of clients reached' 오류 메시지를 반환합니다. |
17 | maxmemory <bytes> | Redis의 최대 메모리 제한을 지정합니다. Redis는 시작할 때 데이터를 메모리에 로드하고, 최대 메모리에 도달하면 Redis는 만료된 Key나 곧 만료될 Key를 먼저 제거하려고 시도합니다. 이 방법으로 처리된 후에도 최대 메모리 설정에 도달하면, 더 이상 쓰기 작업을 수행할 수 없지만, 여전히 읽기 작업을 수행할 수 있습니다. Redis의 새로운 vm 메커니즘은 Key를 메모리에 저장하고, Value를 스와프 영역에 저장합니다 |
18 | appendonly no | 각 데이터 업데이트 후에 로그를 기록할지 여부를 지정합니다. Redis는 기본적으로 데이터를 디스크에 동기화하는 동기화 파일은 위의 save 조건에 따라 동기화됩니다. 따라서 일부 데이터는 일정 기간 동안 메모리에만 존재할 수 있습니다. 기본 값은 no입니다 |
19 | appendfilename appendonly.aof | 업데이트 로그 파일 이름을 지정합니다. 기본 값은 appendonly.aof입니다 |
20 | appendfsync everysec | 업데이트 로그 조건을 지정합니다. 총 3 가능한 값:
|
21 | vm-enabled no | 가상 메모리 메커니즘을 사용할지 여부를 지정합니다. 기본 값은 no입니다. 간단히 설명드리겠습니다. VM 메커니즘은 데이터를 페이지로 저장하고, Redis가 접근 횟수가 적은 페이지(침수 데이터)를 디스크에 스와프하고, 접근 횟수가 많은 페이지는 디스크에서 자동으로 메모리로 옮겨집니다(앞의 기사에서 Redis의 VM 메커니즘을 자세히 분석할 것입니다) |
22 | vm-swap-file /tmp/redis.swap | 가상 메모리 파일 경로, 기본 값은 /tmp/redis.swap, 여러 Redis 예제가 공유할 수 없습니다 |
23 | vm-max-memory 0 | 모든 vm-max-memory 데이터가 가상 메모리에 저장되면,无论 vm-max-memory 설정이 얼마나 작으면, 모든 인덱스 데이터가 메모리에 저장됩니다(Redis의 인덱스 데이터는 keys입니다). 따라서, vm-max-memory 설정이 0으로 되어 있을 때, 모든 value가 디스크에 존재합니다. 기본 값은 0입니다 |
24 | vm-page-size 32 | Redis 스와프 파일은 많은 페이지로 나누어져 있으며, 하나의 객체는 여러 페이지에 저장될 수 있지만, 하나의 페이지는 여러 객체와 공유될 수 없습니다. vm-page-page 크기는 저장할 데이터 크기에 따라 설정되어야 합니다. 작은 대상을 많이 저장할 경우 page 크기는 최적화되어야 합니다 32 또는 64bytes; 매우 큰 대상을 저장할 경우 더 큰 page를 사용할 수 있으며, 불확실하다면 기본 값을 사용합니다 |
25 | vm-pages 134217728 | swap 파일에 page 수를 설정합니다. 페이지 테이블(페이지가 비어 있음 또는 사용 중인 bitmap)은 메모리에 위치하며, 디스크에 매 페이지마다 8 pages를 소비합니다 1byte의 메모리. |
26 | vm-max-threads 4 | swap 파일에 접근하는 스레드 수를 설정합니다. 컴퓨터의 핵수보다 많지 않도록 설정하는 것이 좋습니다. 0으로 설정되면 swap 파일에 대한 모든 작업은 시리얼로 수행되며, 상당한 지연이 발생할 수 있습니다. 기본 값은4 |
27 | glueoutputbuf yes | 클라이언트에게 응답할 때 작은 패킷을 하나의 패킷으로 병합하여 전송할지 여부를 설정합니다. 기본적으로 활성화됩니다 |
28 | hash-max-zipmap-entries 64 hash-max-zipmap-value 512 | 특정 수 이상의 수량이나 가장 큰 요소가 특정 임계값을 초과할 때 특별한 해시 알고리즘을 사용하도록 지정합니다 |
29 | activerehashing yes | 초기화 해시를 활성화할지 여부를 지정합니다. 기본적으로 활성화됩니다. (Redis의 해시 알고리즘을 소개할 때 구체적으로 설명됩니다) |
30 | include /path/to/local.conf | 기타 설정 파일을 포함하도록 지정할 수 있으며, 동일한 호스트에서 여러 Redis 예제 간에 동일한 설정 파일을 사용할 수 있으며, 각 예제는 자신의 특정 설정 파일을 가질 수 있습니다 |