/// <summary> /// Unsubscribe from a set of patterns (which must match patterns previously subscribed) /// </summary> /// <param name="keys">The patterns to unsubscribe</param> /// <remarks>Channels are server-wide, not per-database</remarks> public Task PatternUnsubscribe(string[] keys) { ValidateKeys(keys, true); RemoveNamedSubscriptions(keys); return(ExecuteVoid(RedisMessage.CreateMultiSub(RedisLiteral.PUNSUBSCRIBE, keys), false)); }
/// <summary> /// Subscribe to a set of patterns (using wildcards, for exmaple "Foo*") /// </summary> /// <param name="keys">The patterns to subscribe</param> /// <param name="handler">A callback to invoke when matching messages are received; this can be null /// as the MessageReceived event will also be raised</param> /// <remarks>Channels are server-wide, not per-database</remarks> public Task PatternSubscribe(string[] keys, Action <string, byte[]> handler = null) { ValidateKeys(keys, true); AddNamedSubscriptions(keys, handler); return(ExecuteVoid(RedisMessage.CreateMultiSub(RedisLiteral.PSUBSCRIBE, keys), false)); }