프로파일 매개변수를 설명합니다:
1. Redis는 기본적으로 데몬으로 실행되지 않지만, 이 구성 항목으로 수정하여 예 데몬을 활성화할 수 있습니다
악마화하지 마
2. Redis가 데몬으로 실행 중일 때, Redis는 기본적으로 pid파일을 통해 지정할 수 있는 /var/run/redis.pid 파일에 pid를 기록합니다
pidfile /var/run/redis.pid
3. Redis 청취 포트를 지정하세요. 기본 포트는 6379입니다. 저자는 블로그 글에서 6379가 기본 포트로 선택된 이유를 설명했는데, 6379는 휴대폰 버튼의 MERZ에 해당하는 번호이고, MERZ는 이탈리아 가수 알레시아 메르즈(Alessia Merz)의 이름에서 따왔기 때문입니다
포트 6379
4. 본인을 붙이는 호스트 주소
Bind 127.0.0.1
5. 클라이언트가 유휴 상태인 만큼 연결이 종료되면, 0으로 지정되면 해당 기능이 꺼졌음을 의미합니다
타임아웃 300
6. 로깅 레벨을 지정하세요. Redis는 기본적으로 디버그, 버보스, 공지, 경고, 버보스 총 네 가지 레벨을 지원합니다
로그레벨 버보스
7. 로깅 모드는 기본적으로 표준 출력입니다. Redis가 데몬으로 실행되도록 설정되어 있고, 여기서 로그 메서드가 표준 출력으로 설정되어 있다면, 로그는 /dev/null로 전송됩니다
로그파일 표준
8. 데이터베이스 수를 설정하고, 기본 데이터베이스는 0이며, <dbid>SELECT 명령어를 사용해 연결의 데이터베이스 ID를 지정할 수 있습니다
데이터베이스 16개
9. 데이터를 데이터 파일과 동기화하기 위해 수행하는 시간과 업데이트 연산을 지정하며, 이는 여러 조건과 결합할 수 있습니다
저장 <seconds> <changes>
Redis 기본 구성 파일에는 세 가지 조건이 있습니다:
900 1 저장
300 10 절약
60 10000 절약
900초(15분) 동안 1회 변경, 300초(5분) 동안 10회 변경, 60초 동안 10,000회 변경을 의미합니다.
10. 로컬 데이터베이스에 저장할 때 데이터를 압축할지 여부를 지정하세요. 기본값은 예입니다. Redis는 LZF 압축을 사용합니다. CPU 시간을 절약하고 싶다면 이 옵션을 끌 수 있지만, 데이터베이스 파일이 커지게 됩니다
RDBCOMPRESSION 네
11. 로컬 데이터베이스 파일 이름을 지정하세요. 기본 값은 dump.rdb입니다
dbfilename dump.rdb
12. 로컬 데이터베이스 저장소를 지정하세요
감독 ./
13. 기계가 슬라브 서비스일 때 마스터 서비스의 IP 주소와 포트를 설정하면, Redis가 시작될 때 마스터의 데이터를 자동으로 동기화합니다
노예 <masterip> <masterport>
14. 마스터 서비스가 비밀번호로 보호될 경우, 슬라브 서비스는 마스터의 비밀번호를 연결합니다
마스터오스 <master-password>
15. Redis 연결 비밀번호를 설정하세요. 연결 비밀번호가 설정되어 있다면, 클라이언트는 Redis에 연결할 때 AUTH 명령어를 통해 비밀번호를 제공해야 <password>하며, 이 명령어는 기본적으로 비활성화되어 있습니다
Requirepass foobared
16. 동시에 최대 클라이언트 연결 수를 설정하세요. 기본값은 무제한이며, Redis가 동시에 열 수 있는 클라이언트 연결 수가 Redis 프로세스가 열 수 있는 최대 파일 디스크립터 수입니다. 만약 maxclient가 0으로 설정되면 제한이 없음을 의미합니다. 클라이언트 연결 수가 한계에 도달하면 Redis는 새 연결을 종료하고 최대 도달 클라이언트 수 오류 메시지를 클라이언트에 반환합니다
맥스클라이언트 128
17. Redis의 최대 메모리 한도를 지정하면, Redis는 시작할 때 데이터를 메모리에 로드하고, 최대 메모리에 도달하면 먼저 만료되거나 만료되는 키를 지우려고 합니다. Redis의 새로운 VM 메커니즘은 키를 메모리에, 값을 스왑 영역에 저장합니다
맥스메모리 <bytes>
18. 각 업데이트 작업 후 로그를 기록할지 여부를 지정하세요. Redis는 기본적으로 디스크에 비동기적으로 데이터를 쓰며, 켜지지 않으면 전원 차단 시 일정 시간 동안 데이터 손실이 발생할 수 있습니다. Redis 자체가 위 저장 조건에 따라 데이터 파일을 동기화하기 때문에, 일부 데이터는 일정 시간 동안 메모리에만 존재합니다. 기본값은 '아니오'입니다
부록만 아니요
19. 변경로그 파일 이름을 지정하는데, 기본값은 appendonly.aof
Appendfilename appendonly.aof
20. 변경 로그 조건을 3가지 선택적 값으로 지정합니다:
아니요: 운영체제가 데이터 캐시를 디스크에 동기화한다는 것을 나타냅니다(빠르게)
항상: 각 업데이트 작업 후 fsync()가 수동으로 호출되어 디스크에 데이터를 쓰기 위해 사용됨(느리고 안전함)
에브리섹: 초당 한 번 동기화를 의미합니다 (타협, 기본값)
AppendfSync 매 섹스
21. 가상 메모리 메커니즘을 활성화할지 여부를 명시하세요. 기본 값은 '아니오'입니다. 간단한 소개, VM 메커니즘은 페이지를 페이지네이션으로 저장하고, Redis는 방문 횟수가 적은 페이지(즉, 콜드 데이터)를 디스크로 교체하고, 방문 횟수가 많은 페이지는 자동으로 디스크에서 메모리로 교체합니다(다음 글에서 Redis의 VM 메커니즘을 신중히 분석하겠습니다).
VM 활성화 안 됩니다
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-메모리 0
24. Redis 스왑 파일은 여러 페이지로 나뉘어 있으며, 하나의 객체는 여러 페이지에 저장할 수 있지만, 한 페이지는 여러 객체가 공유할 수 없습니다. vm-page-size는 저장된 데이터 크기에 따라 설정됩니다. 저자는 많은 작은 객체가 저장된다면 페이지 크기를 32바이트 또는 64바이트로 설정해야 한다고 제안합니다; 큰 객체를 저장한다면 더 큰 페이지를 사용할 수 있고, 확실하지 않으면 기본 페이지를 사용하세요
VM-페이지-크기 32
25. 스왑 파일의 페이지 수를 설정하세요. 페이지 테이블(페이지가 비어 있거나 사용되었음을 나타내는 비트맵)이 메모리에 저장되기 때문에, 디스크에 8페이지마다 1바이트의 메모리가 소비됩니다.
VM-페이지 134217728
26. 스왑 파일에 접근하는 스레드 수를 설정하는데, 가능하면 기계의 코어 수를 초과하지 않는 것이 좋습니다. 만약 0으로 설정하면 스왑 파일에 대한 모든 연산이 직렬 처리되어 상대적으로 긴 지연이 발생할 수 있습니다. 기본 값은 4입니다
VM-Max-스레드 4
27. 클라이언트에 응답할 때 작은 패키지를 하나의 패키지로 병합할지 설정하면 기본값이 활성화됩니다
Glueoutputbuf 네
28. 특정 수나 가장 큰 요소가 특정 임계값을 초과할 때 특수 해싱 알고리즘을 명시함
해시-맥스-지퍼맵-항목 64
해시-최대 지퍼맵-값 512
29. 기본적으로 켜져 있는 리셋 해시를 활성화할지 여부를 명시합니다(Redis의 해싱 알고리즘 도입 시 자세히 소개됨)
액티브 재해싱 네
30. 동일한 구성 파일이 동일한 호스트 내 여러 Redis 인스턴스 간에 사용할 수 있으며, 각 인스턴스는 고유한 구성 파일을 가질 수 있음을 명시합니다
/path/to/local.conf 포함