[REDIS] 그들은 실시간 추가로 어떻게 레디 스의 개체를 팝업 할 수 있습니까?
REDIS그들은 실시간 추가로 어떻게 레디 스의 개체를 팝업 할 수 있습니까?
나는 팝업 새로운 것을위한 레디 스 서버를 확인하는 것으로 실행하는 Node.js를 과정을 얻을합니다.
또 다른 과정은 산발적으로 추진을하고있을 것이며, 노드 프로세스는이 들어오는대로 팝업을 시도한다. 노드 프로세스가 실행 유지됩니다.
좋은 방향에 누군가 포인트 나를 수 있습니까?
나는 그런 이벤트를 수신하는 방법을 알아 내려고 노력하고있어. 물론, 내가 한 번 팝업 수 있지만, 내가 어떻게 노드 프로세스 레디 스 서버에 대한뿐만 아니라 대기를 유지하기 위해 어떻게해야합니까?
해결법
-
==============================
1.http://redis.io/commands/brpop : 당신은 차단 팝업을 사용하는 것이 좋습니다
http://redis.io/commands/brpop : 당신은 차단 팝업을 사용하는 것이 좋습니다
function waitForPush () { client.brpop(['list','otherlist',0], function (listName, item) { // do stuff waitForPush(); }); }
-
==============================
2.이 술집 / 서브에 대한 좋은 유스 케이스처럼 보인다 : http://redis.io/topics/pubsub
이 술집 / 서브에 대한 좋은 유스 케이스처럼 보인다 : http://redis.io/topics/pubsub
레디 스에 산발적으로 밀어도 채널에 뭔가를 밀어마다 게시 할 수 있습니다 당신의 Node.js를 처리. 이 같이 :
var pushClient = redis.createClient(); //push something onto Redis pushClient.publish("pubsub-channel", "Just pushed something onto Redis");
그런 다음 다른 프로세스가 해당 채널을 구독합니다. 메시지 이벤트가 발생 될 때마다, 당신은 단지 밀렸다 어떤 오프 팝업 :
var client = redis.createClient(); client.subscribe("pubsub-channel"); client.on("message", function(channel, message){ //pop off new item });
-
==============================
3.어떻게 process.nextTick와 재귀 함수의 수정 된 버전에 대한 (...)
어떻게 process.nextTick와 재귀 함수의 수정 된 버전에 대한 (...)
function waitForPush () { client.brpop(['list','otherlist',0], function (listName, item) { // do stuff process.nextTick(waitForPush); }); }
from https://stackoverflow.com/questions/15602956/how-can-i-pop-objects-from-redis-as-they-are-added-realtime by cc-by-sa and MIT license
'REDIS' 카테고리의 다른 글
[REDIS] 양조 설치 레디 스 (OSX 10.7) (0) | 2020.01.19 |
---|---|
[REDIS] 실행 파이프 라인 순서를 레디 스 (0) | 2020.01.19 |
[REDIS] 레디 스 (오류) ERR 작업이 허용되지 않습니다 (0) | 2020.01.18 |
[REDIS] JedisPoolConfig는 GenericObjectPoolConfig에 할당 할 수없는 (0) | 2020.01.18 |
[REDIS] Node.js를, (안녕) 레디 스 및 멀티 명령 (0) | 2020.01.18 |