소개
Redis는 오픈 소스의 인메모리 키-값 데이터 저장소입니다. Redis에는 Redis 서버의 구성 설정을 실시간으로 변경할 수 있는 여러 명령이 있습니다. 이 자습서에서는 이러한 명령 중 일부를 다루고, 또한 이러한 구성 변경을 영구적으로 하는 방법을 설명합니다.
이 안내서 사용 방법
이 안내서는 자체 포함된 예제로 구성된 치트 시트로 작성되었습니다. 작업을 완료하려는 과제와 관련된 어떤 섹션으로든 이동하는 것을 권장합니다.
이 안내서에 나와 있는 명령은 Redis 버전 6.0.16을 실행하는 Ubuntu 22.04 서버에서 테스트되었습니다. 비슷한 환경을 설정하려면 단계 1을 따라가면 됩니다. 당사의 Ubuntu 22.04에 Redis 설치 및 보안 설정하는 방법 안내서에서 보여준 것처럼 이 명령들이 어떻게 동작하는지를 redis-cli
, Redis 명령 줄 인터페이스를 사용하여 실행하여 시연할 것입니다. 다른 Redis 인터페이스를 사용하는 경우 – 예를 들어 Redli – 특정 명령의 정확한 출력이 다를 수 있습니다.
대안으로 이러한 명령을 테스트하기 위해 관리형 Redis 데이터베이스 인스턴스를 제공할 수도 있지만, 데이터베이스 제공업체가 허용하는 제어 수준에 따라이 가이드의 일부 명령이 설명된대로 작동하지 않을 수 있습니다. DigitalOcean Managed Database를 프로비저닝하려면 관리형 데이터베이스 제품 문서를 따르십시오. 그런 다음 DigitalOcean Managed Database에 연결하려면 Redli를 설치하거나 TLS 터널을 설정해야합니다.
관리형 Redis 데이터베이스는 일반적으로 사용자가 구성 파일을 변경할 수 없습니다. DigitalOcean의 Managed Database를 사용하는 경우,이 가이드에 나와있는 명령은 오류가 발생할 수 있습니다.
Redis 구성 변경
이 섹션에 나와 있는 명령은 현재 세션의 Redis 서버 동작을 변경하거나 config rewrite
를 실행할 때까지 영구적으로 적용되지 않습니다. 선호하는 텍스트 편집기로 Redis 구성 파일을 직접 열어 편집하여 변경할 수 있습니다. 예를 들어 다음과 같이 nano
를 사용할 수 있습니다:
- sudo nano /etc/redis/redis.conf
경고: config set
명령은 위험하다고 간주됩니다. Redis 구성 파일을 변경함으로써 Redis 서버가 예상치 못하거나 원하지 않는 방식으로 동작할 수 있습니다. Redis 구성을 변경하려는 경우 해당 동작을 테스트하고 싶거나 절대적으로 변경을 원하는 경우에만 config set
명령을 실행하는 것을 권장합니다.
실수로 실행될 가능성이 낮은 이름으로 이 명령을 다시 이름을 지정하는 것이 권장될 수 있습니다.
config set
은 서비스를 다시 시작하지 않고도 런타임에서 Redis를 다시 구성할 수 있게 합니다. 다음과 같은 구문을 사용합니다:
- config set parameter value
예를 들어, save
명령을 실행한 후 Redis가 생성할 데이터베이스 덤프 파일의 이름을 변경하려면 다음과 같은 명령을 실행할 수 있습니다:
- config set "dbfilename" "new_file.rdb"
구성 변경이 유효한 경우 명령은 OK
를 반환합니다. 그렇지 않으면 오류가 반환됩니다.
참고: redis.conf
파일의 모든 매개변수를 config set
작업으로 변경할 수는 없습니다. 예를 들어, requirepass
매개변수로 정의된 인증 암호를 변경할 수 없습니다.
구성 변경을 영구적으로 만들기
config set
은 Redis 인스턴스의 구성 파일을 영구적으로 변경하지 않으며, 실행 중인 Redis의 동작만 변경합니다. config-set
명령을 실행한 후 redis.conf
를 편집하여 현재 세션의 구성을 영구적으로 만들려면 config rewrite
를 실행하십시오:
- config rewrite
이 명령은 원래 redis.conf
파일의 주석과 전체 구조를 보존하는 것을 우선으로하며, 서버가 현재 사용하는 설정과 일치하도록 최소한의 변경만 수행합니다.
config set
과 마찬가지로 재작성이 성공하면 config rewrite
는 OK
를 반환합니다.
Redis 구성 확인
Redis 서버의 현재 구성 매개변수를 읽으려면 config get
명령을 실행하십시오. config get
은 redis.conf
에서 사용되는 매개변수와 정확히 일치하거나 글로브 패턴과 일치하는 하나의 인수를 가져야합니다. 예를 들면:
- config get repl*
Redis 구성에 따라이 명령은 다음과 유사한 결과를 반환합니다:
Output 1) "repl-ping-slave-period"
2) "10"
3) "repl-timeout"
4) "60"
5) "repl-backlog-size"
6) "1048576"
7) "repl-backlog-ttl"
8) "3600"
9) "repl-diskless-sync-delay"
10) "5"
11) "repl-disable-tcp-nodelay"
12) "no"
13) "repl-diskless-sync"
14) "no"
config set
에서 지원하는 모든 구성 매개변수를 반환하기 위해 config get *
를 실행할 수도 있습니다.
결론
이 안내서는 Redis 서버의 구성 파일을 변경하는 데 사용되는 redis-cli
명령에 대해 설명합니다. 이 안내서에서 학습하고 싶은 다른 관련 명령, 인수 또는 절차가 있다면, 댓글에서 질문하거나 제안해주세요.
Redis 명령에 대한 자세한 정보는 Redis 데이터베이스 관리 방법 시리즈에서 확인할 수 있습니다.
Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration