0
Redis(Windows 7にインストール済み)用のStackExchange.Redis .NETクライアントを使用しています。 ホスト名 - 127.0.0.1、ポート - 6379Redis Pub/Subはメッセージを公開しません
サブスクライバ:
using (var connection = ConnectionMultiplexer.Connect(string.Format("{0}:{1},abortConnect=false,ConnectTimeout=10000", m_HostName, m_Port)))
{
var sub = connection.GetSubscriber();
sub.Subscribe("tasks", (channel, value) =>
{
// processing
});
}
出版社:私はその加入者が接続され、この行には例外はありません見ることができるログに
using (var connection = ConnectionMultiplexer.Connect(string.Format("{0}:{1},abortConnect=false,ConnectTimeout=10000", m_HostName, m_Port)))
{
var subscriber = connection.GetSubscriber();
Logger.Debug(subscriber.IsConnected().ToString());
subscriber.Publish("tasks", message);
}
subscriber.Publish("tasks", message);
ただし、サブスクライバはメッセージを受け取りません。また、Redis Deskto p Managerは、DBが空であることを示します。 Redisので
は、コマンドのpubsubチャネル表示次の結果をCLI、そのチャネルが存在することを意味する:
- "タスク"
- また
"__Booksleeve_MasterChanged"、私はDBに文字列をプッシュしそれは成功しました:
var db = connection.GetDatabase();
db.StringSet("key","message");
アイデアや提案はありますか?
パブリッシュではデータベースに何も設定されていません。キースペース通知を有効にしない限り、dbとpub/subspaceはほとんど区別されます。購読している井戸を出版社より先に開始してもよろしいですか?発行者が登録者の登録前にデータを送信している場合、以前の値は通知されません(redis pub/subは初期イメージなしの更新のみ)。 –