StackExchange.Redisノート-イベント
3338 ワード
ConnectionMultiplexerタイプでは、複数のイベントが公開されています。
注意:StackExchange.Redis実装のpub/sub動作原理はイベントに類似しており,Subscribe/SubscribeAsyncはActionを受け入れる
ConnectionMultiplexer conn = GetConnection();
conn.ConfigurationChanged += (object sender, EndPointEventArgs e) =>
{
Console.WriteLine(" ");
};
conn.ConfigurationChangedBroadcast += (object sender, EndPointEventArgs e) =>
{
Console.WriteLine(" ");
};
conn.ConnectionFailed += (object sender, ConnectionFailedEventArgs e) =>
{
Console.WriteLine(" , ");
};
conn.ConnectionRestored += (object sender, ConnectionFailedEventArgs e) =>
{
Console.WriteLine(" ");
};
conn.ErrorMessage += (object sender, RedisErrorEventArgs e) =>
{
Console.WriteLine(" ");
};
conn.HashSlotMoved += (object sender, HashSlotMovedEventArgs e) =>
{
Console.WriteLine(" ");
};
conn.InternalError += (object sender, InternalErrorEventArgs e) =>
{
Console.WriteLine("redis ");
};
key失効イベントリスニング:(テストなし)
notify-keyspace-events Ex
Kキー空間通知、_keyspace@ __接頭辞Eキーイベント通知のために_keysevent@ __接頭辞g del,expipre,renameなどのタイプに関係のない汎用コマンドの通知,...$Stringコマンドl Listコマンドs Setコマンドh Hashコマンドz整列集合コマンドx期限切れイベント(keyが期限切れになるたびに生成される)e駆逐イベント(keyがメモリがいっぱいになったときに生成される)A g$lshzxeの別名であるため、「AKE」はすべてのイベントを意味する
ConnectionMultiplexer conn1 = GetConnection();
ISubscriber subscriber = conn1.GetSubscriber();
subscriber.Subscribe("__keyspace@0__:*", (channel, notificationType) =>
{
Debug.WriteLine(channel + "|" + notificationType);
});
subscriber.Subscribe("__keyevent@0__:expired", (channel, notificationType) =>
{
Debug.WriteLine(channel + "|" + notificationType);
});