명령 줄에서 Redis의 구성을 변경하는 방법

소개

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를 사용할 수 있습니다:

  1. sudo nano /etc/redis/redis.conf

경고: config set 명령은 위험하다고 간주됩니다. Redis 구성 파일을 변경함으로써 Redis 서버가 예상치 못하거나 원하지 않는 방식으로 동작할 수 있습니다. Redis 구성을 변경하려는 경우 해당 동작을 테스트하고 싶거나 절대적으로 변경을 원하는 경우에만 config set 명령을 실행하는 것을 권장합니다.

실수로 실행될 가능성이 낮은 이름으로 이 명령을 다시 이름을 지정하는 것이 권장될 수 있습니다.

config set은 서비스를 다시 시작하지 않고도 런타임에서 Redis를 다시 구성할 수 있게 합니다. 다음과 같은 구문을 사용합니다:

  1. config set parameter value

예를 들어, save 명령을 실행한 후 Redis가 생성할 데이터베이스 덤프 파일의 이름을 변경하려면 다음과 같은 명령을 실행할 수 있습니다:

  1. config set "dbfilename" "new_file.rdb"

구성 변경이 유효한 경우 명령은 OK를 반환합니다. 그렇지 않으면 오류가 반환됩니다.

참고: redis.conf 파일의 모든 매개변수를 config set 작업으로 변경할 수는 없습니다. 예를 들어, requirepass 매개변수로 정의된 인증 암호를 변경할 수 없습니다.

구성 변경을 영구적으로 만들기

config set은 Redis 인스턴스의 구성 파일을 영구적으로 변경하지 않으며, 실행 중인 Redis의 동작만 변경합니다. config-set 명령을 실행한 후 redis.conf를 편집하여 현재 세션의 구성을 영구적으로 만들려면 config rewrite를 실행하십시오:

  1. config rewrite

이 명령은 원래 redis.conf 파일의 주석과 전체 구조를 보존하는 것을 우선으로하며, 서버가 현재 사용하는 설정과 일치하도록 최소한의 변경만 수행합니다.

config set과 마찬가지로 재작성이 성공하면 config rewriteOK를 반환합니다.

Redis 구성 확인

Redis 서버의 현재 구성 매개변수를 읽으려면 config get 명령을 실행하십시오. config getredis.conf에서 사용되는 매개변수와 정확히 일치하거나 글로브 패턴과 일치하는 하나의 인수를 가져야합니다. 예를 들면:

  1. 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