2012-01-21 4 views
4

Redisストアの特定のキーにデータが書き込まれるタイミングを知る必要があります。
Node.jsを使用してRedisキーイベントを聞く方法はありますか、またはpub/subユーティリティを使用する必要がありますか?
2番目のケースでは、それを実行する最善の方法は何でしょうか?Node.jsを使用してRedisのキーイベントを聞く

答えて

2

Node.jsを使用してRedisキーイベントを聞く方法はありますか? はpub/subユーティリティを使用する必要がありますか?パブ/サブベースのソリューションを含む他のalternativesがあるが

は、私の知る限り、それ自体をRedisの知っているように、ネイティブkey change notifications yetをサポートしていません。

+0

感謝 –

1

pubsubを使用したくない場合は、Redisのブロック操作(BLPOP、BRPOP、BRPOPLPUSH)の創造的なソリューションには多くの機会があります。新しいアイテムがリストに追加されるまで、サーバ内のRedis接続をブロックして、実際にキーを保存した直後(マルチ・エグゼクティブ!)にリストに追加することができます。 1(connetionはちょうどこの後にたむろします)

接続:

BRPOP myfunkeys 0 

接続2:

ので、一般的な何かが(あなたが二つの異なる接続をシミュレートするために、2台の異なる端末を使用することができます)このようになります。あなたEXEC後に戻るの接続1に
redis 127.0.0.1:6379> multi 
OK 
redis 127.0.0.1:6379> set somekey "foo" 
QUEUED 
redis 127.0.0.1:6379> rpush myfunkeys "somekey:foo" 
QUEUED 
redis 127.0.0.1:6379> exec 
1) OK 
2) (integer) 1 
redis 127.0.0.1:6379> 

:情報のため

1) "myfunkeys" 
2) "somekey:foo" 
(67.51s) 
関連する問題