CONFIG GET 명령어는 현재 돌아가고 있는 Redis서버의 설정값을 읽어오기 위한 명령어입니다. Redis 2.4버젼에서는 모든 설정값을 읽어오도록 지원하지 않지만 2.6버젼에서는 모든 설정값을 읽어올수 있게 업그레이드가 되었답니다.
CONFIG GET명령어는 오직 하나의 인자만 받습니다. 모든 설정값은 key-value 쌍으로 이루어져있고, 아래와 같이 와일드카드를 사용해서 여러개를 한꺼번에 읽어올수도 있습니다.
127.0.0.1:6379> config get *max-*-entries*
1) "hash-max-ziplist-entries"
2) "512"
3) "set-max-intset-entries"
4) "512"
5) "zset-max-ziplist-entries"
6) "128"
어떤 설정값이 있는지 모르시겠다고요? 그렇다면 CONFIG GET *
명령어를 통해서 모든 설정값의 key-value 쌍을 가져올수 있어요.
127.0.0.1:6379> CONFIG GET *
1) "rdbchecksum"
2) "yes"
...
263) "requirepass"
264) ""
여기에 나열된 모든 설정값은 redis.conf파일에 들어가는 것과 동일합니다. 단 아래의 두가지 예외사항만 제외하고요:
- 숫자나 사이즈를 기재할때 redis.conf에서는 가능했던 10k, 2gb등 줄여쓰기를 지원하지 않습니다. 정수로된 설정값을 조회해보면 64-bit정수값이 그대로 다나와요.
- redis.conf에서
save
명령어는 여러개의 정수로 설정값을 받지만 CONFIG GET를 통해서 값을 조회해보면 하나의 문자열로 반환을 합니다.
위의 목록에서 두번째 save
와 관련된 부분에 대해서 좀더 설명을 드리자면요, redis.conf에 아래와 같은 설정이 있다면:
save 900 1
save 300 10
이 말은, 최소 1번의 변경이 있었다면 900초뒤에 저장하고, 10회의 변경이 있었다면 300초뒤에 저장하라는 뜻이에요. 이걸 CONFIG GET을 통해서 조회하면 “900 1 300 10″과 같은 하나의 문자열이 나옵니다. 아래는 초기값을 변경하지 않았을때 로컬에서 돌려본 값이에요.
127.0.0.1:6379> CONFIG GET save
1) "save"
2) "3600 1 300 100 60 10000"