NoSQL/Redis

Redis > 환경설정

Krevis 2024. 2. 2. 07:37

 

서버 환경 설정

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가 어디 있는지 찾아봤는데 없더라

 

https://stackoverflow.com/questions/37402551/what-is-the-location-of-redis-conf-in-official-docker-image

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