[REDIS] nodejs와 레디 스 (node_redis)에 가입 게시
REDISnodejs와 레디 스 (node_redis)에 가입 게시
나는 일반적인가 게시 /도 해당 채널을 게시 된 데이터와 nodejs 및 채널 이름을 브라우저에서 요청을 수신 node_redis 및 응답으로 서버를 구독 구축을 위해 노력하고 있습니다. 이를 위해, 나는 브라우저에서 롱 폴링 요청을 사용하여 메시지가 채널에 수신 될 때 응답을 전송하여 이러한 요청을 처리하고 있습니다.
각각의 새로운 요구를 들어, 객체 (경우에만 이미 존재하지 않는 경우) 채널에 가입 만들어집니다.
clients = {};
//when request comes in,
clients[channel] = redis.createClient();
clients[channel].subscribe(channel);
이 구독 채널에 대처하는 가장 좋은 방법입니다, 또는 다른보다 직관적 인 방법은 무엇입니까?
해결법
-
==============================
1.그것은 나에게 꽤 합리적인 해결책처럼 보인다. 당신은 그것에 대해 무엇을 좋아하지 않아?
그것은 나에게 꽤 합리적인 해결책처럼 보인다. 당신은 그것에 대해 무엇을 좋아하지 않아?
명심해야 할 무언가가 각 레디 스 연결에서 여러 구독을 가질 수 있다는 것입니다. 이것은 당신이 요구하는 것에 대한 반대 논리를 복잡하게 끝낼 수 있습니다. 그러나 규모의이 필요할 수 있습니다. 각 레디 스 연결은 상대적으로 저렴하지만, 파일 기술자와 일부 메모리를 필요로한다.
-
==============================
2.http://redis.io/commands : 당신이 클라이언트에 가입 한 후, 당신은이 연결 내의 다른 채널 또는 탈퇴 구독 할 수 있습니다 (나는 당신의 디자인 어떤 건지 모르겠지만, 여러 채널에서 하나의 레디 스 클라이언트를 구독 할 수 있습니다 당신이 메시지를 수신 한 후,이 메시지가 나오는 채널 전체 정보를 가지고 있기 때문에 /)에 가입. 그럼 당신은 모든 관심이 고객에게이 메시지를 배포 할 수 있습니다.
http://redis.io/commands : 당신이 클라이언트에 가입 한 후, 당신은이 연결 내의 다른 채널 또는 탈퇴 구독 할 수 있습니다 (나는 당신의 디자인 어떤 건지 모르겠지만, 여러 채널에서 하나의 레디 스 클라이언트를 구독 할 수 있습니다 당신이 메시지를 수신 한 후,이 메시지가 나오는 채널 전체 정보를 가지고 있기 때문에 /)에 가입. 그럼 당신은 모든 관심이 고객에게이 메시지를 배포 할 수 있습니다.
내가 대신 별도의 로직과 각 채널에 대한 별도의 가입을 생성하는, 작은 기능에서 각 메시지에 대한 작업을 선택 동적으로 다음 채널 이름 메시지의 유형을 넣어 수 있기 때문에 이것은 나에게 조금 도움이되었다.
내 Node.js를 서버 내부에서 나는 단지 2 레디 스 클라이언트를 가지고 :
-
==============================
3.나는 pubsub가 레디 스와 socket.io 함께 사용하는 방법에 대한 내 게시물에 당신을 지적하고 싶습니다. Socket.io 아주 좋은 라이브러리 =>
나는 pubsub가 레디 스와 socket.io 함께 사용하는 방법에 대한 내 게시물에 당신을 지적하고 싶습니다. Socket.io 아주 좋은 라이브러리 =>
어떻게 / 때 데이터 값의 변화를 고객에게 통지 nodejs으로 회원님의 사이트 레디 스를 사용 하는가?
나는 디자인은 매우 간단하고 또한 매우 확장 성이 있어야한다고 생각합니다.
-
==============================
4.우리는 레디 스가 게시 / 구독 ( "출판 / 하위")을 이해하려고 노력하고 기존의 모든 예제 중 하나를 너무 단순, 오래된 또는 더 테스트를했다 없었다. 우리는 Hapi.js + Socket.io + 레디 스 펍을 사용하여 완전한 실시간 채팅을 썼다 그래서 / 엔드 - 투 - 엔드 테스트와 하위 예!
우리는 레디 스가 게시 / 구독 ( "출판 / 하위")을 이해하려고 노력하고 기존의 모든 예제 중 하나를 너무 단순, 오래된 또는 더 테스트를했다 없었다. 우리는 Hapi.js + Socket.io + 레디 스 펍을 사용하여 완전한 실시간 채팅을 썼다 그래서 / 엔드 - 투 - 엔드 테스트와 하위 예!
술집 / 하위 구성 요소는 Node.js를 코드 몇 줄 수 있습니다 : https://github.com/dwyl/hapi-socketio-redis-chat-example/blob/master/lib/chat.js#L33-L40
오히려 (어떤 맥락없이) 여기에 붙여 넣기보다 우리는 / 체크 아웃하는 것이 좋습니다 예를보십시오.
우리는 Hapi.js를 사용하지만 chat.js 파일이 드 결합 게요!에서하고 쉽게 기본 Node.js를 HTTP 서버와 함께 사용하거나 할 수 있습니다 내장 된 표현 (등)
from https://stackoverflow.com/questions/5140398/publish-subscribe-with-nodejs-and-redisnode-redis by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] xargs를 변수에 나오지도 사용 쉘 확장 내부에서 작동하지 않습니다 (0) | 2020.01.17 |
---|---|
[REDIS] 선택, epoll에, kqueue, 그리고 evport 사이의 근본적인 차이점은 무엇입니까? (0) | 2020.01.17 |
[REDIS] 어떻게 레디 스 해시에서 핵심 패턴을 검색하려면? (0) | 2020.01.17 |
[REDIS] 어떻게 CodeIgniter의에서 레디 스를 구현하는 방법? (0) | 2020.01.17 |
[REDIS] 각종되는 NoSQL 데이터베이스에 대한 빠른 참조 안내서 (0) | 2020.01.17 |