Socket.ioを利用したチャットアプリについて


LINEのようなチャットアプリをhtml5ハイブリッドアプリで作成中です(Monacaを使ってます)。

node.jsとsocket.ioとredisを利用する予定です。

Googleなどで「socket.io
チャット」と検索すると、いろんなサイトでチャットとして動作するコードが書かれていますが、それらは全て「入力した内容がリアルタイム通信している相手に直接送信されるもの」となっています。

私がやりたいのは「送信側は入力した内容をredisに保存する→受取側はredisの中に自分のユーザーIDで保存されているデータがあればポップして、ポップしたデータはredisから削除」というものです。  
つまり「送信側と受取側がsocket.ioによってリアルタイム通信されている」のではなく、「受取側がredisとリアルタイム通信されている」というプログラムになると思います。

ここまで書きましたが、今までPHPしかしておらず、node.jsに関して初心者なので質問したい事があります。

  1. このやり方は可能でしょうか？可能なら、参考になるサイトなども紹介して頂きたいです。

  2. これより一般的なやり方はあるのでしょうか？




この辺りは自分も何となく知っている程度なのですが、質問内容で実現したいのはいわゆる「Pub/Subメッセージングモデル」というやつなのかなと思いました。  
参考:
[Pub/Subメッセージングモデル](http://itdoc.hitachi.co.jp/manuals/link/cosmi_v0870/APKC/EU070377.HTM)

試しに「socket.io pubsub」で検索してみた結果をいくつか貼っておきます。  
[今更だけどSocket.ioについてまとめてみる](http://blog.wnotes.net/blog/article/nodejs-
socketio-summary)  
[Socket.io + Redis
PubSubでリアルタイムメッセージ配信](http://uorat.hatenablog.com/entry/2015/08/30/190613)  
[socket.io-redis（GitHub）](https://github.com/socketio/socket.io-redis)

ちなみにRedisには標準で「pub/sub」機能があるみたいです。  
[3分でRedisのpub/subを使ってみる](http://otiai10.hatenablog.com/entry/2014/05/04/112426)

