Redis 기본 설정 중 서비스 실행·메모리 회수·클라이언트 연결 한도를 정리했습니다. 영속성·ACL은 별도 매뉴얼에서 다룹니다. 원노트의 모든 튜닝 값을 일괄 적용하기보다 실제 오류와 자원 사용량을 기준으로 선택합니다.
패키지 서비스와 설정 경로
systemctl cat redis
systemctl show redis -p User -p Group -p LimitNOFILE
redis-server --version실제 설정 파일과 서비스 계정을 확인합니다. systemd가 전경 실행을 기대하는 유닛에서 daemonize만 yes로 바꾸면 기동 감지가 어긋날 수 있습니다. 패키지 유닛을 유지하고 필요한 변경은 drop-in으로 관리합니다.
바인딩과 인증
로컬 앱 전용이라면 loopback으로 제한하고 원격 사용은 관리망 주소·인증·방화벽·TLS 요구에 맞춰 설계합니다. 포트만 바꾸는 것은 인증을 대신하지 않습니다.
bind 127.0.0.1
port 16379
protected-mode yes메모리 상한과 정책
maxmemory는 Redis가 데이터 처리에 사용할 메모리의 상한이며 프로세스의 모든 메모리·버퍼·fork 추가 사용량을 완전히 제한하는 값이 아닙니다. 예시는 메모리 1GiB와 쓰기 거부 정책입니다.
maxmemory 1gb
maxmemory-policy noeviction캐시라면 allkeys-lru·allkeys-lfu 같은 회수 정책을 검토할 수 있지만 지속 데이터에 그대로 적용하면 키가 사라질 수 있습니다. volatile 계열은 만료 시간이 있는 키만 대상으로 합니다. 정책에 따른 애플리케이션 오류와 데이터 손실 허용 범위를 먼저 정합니다.
연결 한도와 실측
redis-cli --user lieper --askpass -p 16379 INFO clients
redis-cli --user lieper --askpass -p 16379 INFO memoryconnected_clients·blocked_clients·maxclients를 확인하고 연결 풀 설정과 비교합니다. 복제·Cluster 버스 소켓과 OS 파일 한도도 영향을 줍니다. io-threads나 lazyfree 옵션은 버전별 동작과 부하를 측정한 후 조정하며 코어 수만 보고 고정값을 적용하지 않습니다.