지난 글에서 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 으로 보냈기 때문이다
이런 오류 발생, 아래 objectMapper.readValue 에서 터짐
명령어를 확인하기 위해 레디스 서버 자체에서 메세지를 보내 테스트 해봤지만, 실 운영에서 서버 내에서 채널에 메세지를 보내는 일은 없을것 같다
구독한 채널 해제
unsubscribe [채널명]
Redis 서버 끄기
터미널에서 control + c 하면 된다
bye bye... 라고 뜸
이상으로 Redis의 명령어를 알아봤다
참고 블로그
🗃️ REDIS의 PUB/SUB 기능 (채팅 / 구독 알림)
Redis Publish / Subscribe Publish / Subscribe 란 특정한 주제(topic)에 대하여 해당 topic을 구독한 모두에게 메시지를 발행하는 통신 방법으로 채널을 구독한 수신자(클라이언트) 모두에게 메세지를 전송 하
inpa.tistory.com
'IT > etc' 카테고리의 다른 글
[Redis] Mac M1에서 Embedded Redis를 실행하지 못하는 이유와 해결 방법 (0) | 2023.10.31 |
---|---|
파이어베이스 실시간 데이터베이스로 채팅 구현2 (코드) (0) | 2023.09.05 |
nohup: ignoring input and appending output to 'nohup.out' (0) | 2023.09.05 |
파이어베이스 실시간 데이터베이스로 채팅 구현1 (설정, 셋팅) (0) | 2023.09.05 |
vi 파일 맨 끝으로 이동 (0) | 2023.08.24 |