IT/etc

[Redis] 레디스 명령어 정리 redis-cli

토희 2023. 10. 31. 15:18
728x90

지난 글에서 M1에서 Embedded Redis 실행이 안되는 이유를 알아봣다

터미널에서 직접 다운 받은 레디스를 활용하는 방법을 알아보도록 하겠다

 

 

우선 레디스 서버를 실행하지 않고, 인텔리제이를 실행하면

 

이런 오류가 발생한다

6379가 Redis 기본 포트인데, 결국 Redis에 연결할 수 없다는 거다

그러면 Redis 실행하는 명령어는 어떻게 될까

 

- Redis 디렉토리로 이동

cd redis-6.0.10

 

Redis 서버 실행

sudo src/redis-server

Embedded Redis오

Embedded Redis

서버가 실행되었다

실행된 상태에서 터미널 창을 하나 더 열어서( command + t )

 

 

redis-cli 접속하기

 

src/redis-cli

 

 

채널 확인

pubsub channels

 

 

채널 구독자수 확인

pubsub numsub [채널명]

 

채널을 만들어 주고, 구독한 상태에서 pubsub numsub 57668f49-a6ed-4bd9-8c27-03aa35a256c7 하면은 

구독자 1인 거를 확인 할 수 있다

 

 

 

 

채널 구독하기

subscribe [채널명]

 

레디스 서버에서 채널을 구독한 후에,

인텔리제이 실행 후 local 에서 메세지를 보내면 레디스 서버에 직렬화되서 메세지가 날라오는거를 확인할 수 있다

 

 

 

채널에 메세지 보내기

publish [채널명] [메세지명]

터미널을 한개는 57668f49-a6ed-4bd9-8c27-03aa35a256c7 채널을 구독한 상태에서 

다른 터미널에서 publish 57668f49-a6ed-4bd9-8c27-03aa35a256c7 Hello 로 메세지를 보내면 구독한 터미널에 바로 메세지가 가는걸 확인할 수 있다

 

 

참고로 인텔리제이에서 실행한 화면에는 메세지가 안 뜸... 왜냐면 코드에서 메세지를 json 형식으로 보내는걸로 했는데, String 으로 보냈기 때문이다

Hello가 안 뜨고 그대로임

 

이런 오류 발생, 아래 objectMapper.readValue 에서 터짐

 

 

명령어를 확인하기 위해 레디스 서버 자체에서 메세지를 보내 테스트 해봤지만, 실 운영에서 서버 내에서 채널에 메세지를 보내는 일은 없을것 같다

 

 

 

구독한 채널 해제

unsubscribe [채널명]

 

 

 

 

 

Redis 서버 끄기

 

터미널에서 control + c 하면 된다

bye bye... 라고 뜸

 

 

 

 

이상으로 Redis의 명령어를 알아봤다

 

 

 

참고 블로그

https://inpa.tistory.com/entry/REDIS-%F0%9F%93%9A-PUBSUB-%EA%B8%B0%EB%8A%A5-%EC%86%8C%EA%B0%9C-%EC%B1%84%ED%8C%85-%EA%B5%AC%EB%8F%85-%EC%95%8C%EB%A6%BC

 

🗃️ REDIS의 PUB/SUB 기능 (채팅 / 구독 알림)

Redis Publish / Subscribe Publish / Subscribe 란 특정한 주제(topic)에 대하여 해당 topic을 구독한 모두에게 메시지를 발행하는 통신 방법으로 채널을 구독한 수신자(클라이언트) 모두에게 메세지를 전송 하

inpa.tistory.com

 

728x90