서버 환경 설정
Open files
레디스의 maxclients 설정과 관련이 있다. 레디스 실행 서버의 파일 디스크립터 수에 영향을 받는다. maxclients 값 + 32보다 최대 파일 디스크립터 수가 작으면 자동으로 그 수에 맞게 조정된다.
ulimit -a | grep open
vi /etc/security/limits.conf
hard, soft 각각 설정한다.
서버 재접속 후 ulimit 확인 필요
Mac에서 최대 파일 디스크립터 확인
ulimit -n
https://wilsonmar.github.io/maximum-limits/
THP 비활성화
추후 작성
vm.overcommit_memory=1
추후 작성
somaxconn과 syn_backlog 설정 변경
추후 작성
레디스 설정 파일 (redis.conf)
port
기본값: 6379
bind
서버 외부에서 인스턴스로 바로 접근하는 것을 허용하려면 변경 필요
서버는 여러 개의 네트워크 인터페이스를 가질 수 있다. 서버를 지칭하는 IP가 여러 개 있을 수 있다.
그 중 어떤 IP로 들어오는 연결에 대해 허용할 것인지를 결정한다.
기본값: 127.0.0.1 -::1
서버에 대한 루프백 IP
maxclients
받아들일 수 있는 최대 클라이언트의 개수
기본값: 10000
protected-mode
yes면 패스워드를 설정해야만 레디스에 접근 가능하다. 설정돼 있지 않으면 오직 로컬에서 들어오는 연결만 수신할 수 있다.
기본값: yes
requirepass
서버 접속을 위한 패스워드
기본값: 없음
masterauth
복제 구조를 사용할 때 필요하며, 연결될 마스터의 패스워드 값을 의미한다.
복제 연결을 사용한다면 requirepass와 같은 값으로 설정하는 것이 좋다.
기본값: 없음
daemonize
프로세스를 데몬으로 실행시키려면 yes로 변경해야 한다.
프로세스가 Background에서 실행되고, PID 파일이 생성된다.
기본값: no
pidfile
PID 파일 생성 경로
기본값: /var/run/redis_6379.pid
dir
워킹 디렉터리
로그/백업 파일 등 인스턴스를 실행하면서 만들어지는 파일은 이 디렉터리에 저장되므로 값을 지정해주는 것이 좋다.
기본값: ./
docker 사용 시 설정 파일
이미지 내부에 redis.conf가 어디 있는지 찾아봤는데 없더라
docker 이미지를 사용하는 경우 기본 설정 파일이 없다고 한다
따라서 아래 저장소에서 redis.conf 파일을 참고하여 Host에서 직접 작성하여 Bind-mount해야 한다
https://github.com/redis/redis/blob/7.2.4/redis.conf
'NoSQL > Redis' 카테고리의 다른 글
| Redis > 설치 > Docker Compose 기반 Replication, Sentinel, Cluster (0) | 2024.04.03 |
|---|---|
| Redis > 접속 및 명령 (0) | 2024.02.02 |
| Redis > 설치 > 기본 (0) | 2023.11.15 |