事件

ConnectionMultiplexer 类型公开了多个事件,可以用来了解正在发生的事件。这是非常有用的特别是在记录日志的时候:

  • ConfigurationChanged 当 ConnectionMultiplexer 里面的连接配置被更改后触发

  • ConfigurationChangedBroadcast 通过发布/订阅功能接受到一个重新配置的消息的时候;这通常是由于使用 IServer.MakeMaster 更改了一个节点的复制配置,也可以选择广播某个请求给所有的客户。

  • ConnectionFailed 当连接失败的时候;注意:对于该连接你不会收到 ConnectionFailed 的通知,直到连接重新建立。

  • ConnectionRestored 当重新建立连接到之前失败的那个节点的时候

  • ErrorMessage 当用户发起的请求的时候,Redis服务器给出一个错误消息的响应;这是除了常规异常/故障之外,立即报告给调用方的。

  • HashSlotMoved 当 “Redis集群” 表示 hash-slot 已经被迁移到节点之间的时候,注意:请求通常会被自动重新路由,所以用户不会在这里要求做任何指定的事情。

  • InternalError 当Redis类库内部执行发生了某种不可预期的失败的时候;这主要是为了用于调试,大多数用户应该不需要这个事件。

注意:StackExchange.Redis 实现的 pub/sub 工作原理类似于事件,Subscribe / SubscribeAsync 接受一个 Action 的回调,当信息被接收到的时候该回调会被调用。