2013-05-16 9 views
6

私のアプリでは、新しいチャンネルpubsubが動的に作成され、1日あたり5kのように多すぎるかもしれません。私のアプリケーションの要件によると、どのチャンネルも最大5分間使用されます。Redis:pubsubチャンネルをどうやって削除すればいいですか

この状況を考慮すると、数千の未使用チャンネルがアプリに1週間で表示されます。だから私は未使用のチャンネルを削除することができますか、私はそれらを削除する必要があります。彼らは記憶に保存されていますか?それを介して公開されたメッセージはどうなりますか?彼らはレディスの記憶にとどまっていますか?

ありがとう

+0

「5分後」にあなたのアプリは「UNSUBSCRIBE」コマンドを送信しますか? – byterussian

+0

私のクライアントはsocket.ioを介したWebクライアントなので、エンドユーザはブラウザのタブを突然閉じてしまい、彼がまだ接続しているかどうかわからないことがあります。たぶん私はsocket.ioのタイムアウトや何かをキャッチすることでこれを処理できるかもしれませんが、主なことは、すべての加入者がチャンネルを削除する結果になることを保証していることでしょうか? – destan

+0

わからない、試してみてください。私はチャンネルがゼロの加入者が削除された場合、それを覚えています。メッセージの問題の場合は、メッセージを送信して受信した後はもう存在しません。 – byterussian

答えて

10

チャンネルは周囲温度です。サブスクリプションがある間だけ存在します。したがって、購読した接続から[P] UNSUBSCRIBEを呼び出すか、購読した接続を閉じます。

+0

答えに感謝します、それを示すソースを指定できますか?私はドキュメントでそのような詳細を見つけることができませんでした。 – destan

+1

@destan前と後の "info stats"を測定することができます(サブスクリプションカウントを説明しています)。それともソースを読むことができますか?しかし基本的に私は "著者に話すことによって"知っている - 私は恐れている –

関連する問題