[Redis] Redis Command "Connection"

2019. 5. 20. 11:09Redis

처음 Connection을 작성하기 앞서 Redis 설치는 다양한 사이트에 친절하게 설명되어있으니 설치 방법은 

넘기고 바로 사용하도록 하겠습니다.

 

>> redis-server & 

위의 쉘 명령어를 통해 redis-server를 백그라운드로 실행해 준다 . 

redis-server 실행시 나오는 화면

redis-server 명령어 사용시 Redis version , port , PID등등 설정을 확인할 수 있다. 

 

>> redis-cli

redis-server가 실행된 상태라면 redis-cli를 입력하여 Redis 명령어를 실행해 볼 수 있습니다.

 

redis-cli는 Redis 명령 줄 인터페이스로, Redis에 명령을 보내고 서버에서 보낸 응답을 터미널에서 직접 읽을 수있는 간단한 프로그램입니다.

 

공식 문서 Connection에는 AUTH , ECHO , PING , QUIT , SELECT , SWAPDB 6가있기때문에 하나하나 정리해보도록 하겠습니다.

https://redis.io/commands#connection

 

Command reference – Redis

 

redis.io

AUTH password 


AUTH command는 redis client가 명령 or 프로그램으로 접근하여 사용을 허가하기전에 암호를 입력하도록 한다.

만약 입력한 password가 구성 파일의 암호와 일치한다면 상태코드로 OK를 Response하고 틀리다면 (error) ERR invalid password

에러를 Response하고 비밀번호를 다시입력해야한다 . 

 

redis-cli AUTH 비밀번호 일치, 불일치 경우 Message

처음 Redis-server 를 설치하고 redis-cli로 접근시에는 비밀번호에 대한 설정이 되있지 않아서 AUTH 를 통한 인증없이도 사용이 가능하다.

그렇다면 Redis접근시 AUTH를 통한 암호화를 하려면 어떻게 해야할까요 .

 

Redis를 설치한 경로에 가거나 리눅스 계열의 OS에서는 find / -name "redis.conf" 를 이용하면 redis의 성정 파일을 찾을수 있습니다. 

 

redis.conf에서 비밀번호 설정.

그리고 그안에 있는 내용중에 requirepass 뒤에 비밀번호를 입력해주고 redis service 내렸다가 올리고 다시 접속시 AUTH를 입력하지 않으면 다른 Command 명령어들을 사용할 수 없습니다 .  AUTH에대한 설명은 여기까지입니다.  redis.conf에대한 설명은 추후에 작성하도록 하겠습니다 . 

 

ECHO message


ECHO Command는 Echo message를 그대로 return 하여 보여주는 Command입니다 .

 

Redis ECHO Command

ECHO <message>의 message에 출력하고싶은 문자열을 넣으면 해당 문자열을 return 하여 결과창에 보여준다.

 

PING [message]  - [option]을 의미 


PING이라는 Command는 연결이 활성 상태인지 테스트하거나 대기시간을 측정하는데 자주 사용된다 . 

message 가 있다면 message를 리턴해주고 없다면 PONG을 리턴한다 . 

 

QUIT


말그대로 연결된 client에서 server와의 연결을 종료하도록 요청하는 Command입니다.

 

 

SELECT


Redis 사용시 사용할 DB의 index를 선택할 수 있다 . 시작은 0부터이며 SELECT를 사용하지 않을경우 default로 0번 DB를 사용하게 된다 .

최대로 사용하고싶은 DB 갯수를 조절하고싶다면 비밀번호를 설정하였던 redis.conf에서 databases 로 검색하여 갯수를 조절하면됩니다 . 

 

SWAPDB


 

SWAPDB Command는 말 그대로 2개의 DB를 SWAP한다는 의미입니다 . 

위의 Command창을 보면 0번 DB를 선택하고 scan으로 안에있는 key를 보니 아무것도 없어서

NAME이라는 KEY 로 "CHOI YUN JIN"이름을 넣어주었다 그다음 SELECT 1 로 1번 DB를 선택하여서 KEY를 확인해보니 아무것도 있지 않았고 SWAPDB 0 1 을 사용하여 1번 DB의 KEY를 확인해보니 Redis 0번 DB와 1번 DB가 SWAP이 된것을 확인할 수 있다 .