/// <summary> /// Instantiate a new instance of the RedisClientAsync class /// </summary> /// <param name="host">Redis host</param> /// <param name="port">Redis port</param> /// <param name="timeoutMilliseconds">Connection timeout in milliseconds (0 for no timeout)</param> public RedisClientAsync(string host, int port, int timeoutMilliseconds) { _activity = new ActivityTracer("New Redis async client"); _connection = new RedisConnection(host, port); _connection.TaskReadExceptionOccurred += OnAsyncExceptionOccurred; _connection.Connect(timeoutMilliseconds); _subscriptionClient = new Lazy <RedisSubscriptionClient>(() => new RedisSubscriptionClient(Host, Port, _password)); }
/// <summary> /// Instantiate a new instance of the RedisSentinelClient class /// </summary> /// <param name="host">Sentinel server hostname or IP</param> /// <param name="port">Sentinel server port</param> /// <param name="timeout">Connection timeout in milliseconds (0 for no timeout)</param> public RedisSentinelClient(string host, int port, int timeout) { _activity = new ActivityTracer("New Redis Sentinel client"); _connection = new RedisConnection(host, port); _connection.Connect(timeout); _subscriptionHandler = new RedisSubscriptionHandler(_connection); _subscriptionHandler.SubscriptionChanged += OnSubscriptionChanged; _subscriptionHandler.SubscriptionReceived += OnSubscriptionReceived; }
/// <summary> /// Create new instance of subscribe-only RedisClient /// </summary> /// <param name="host">Redis server host or IP</param> /// <param name="port">Redis server port</param> /// <param name="password">Redis server password</param> public RedisSubscriptionClient(string host, int port, string password = null) { _activity = new ActivityTracer("New Redis subscription client"); _connection = new RedisConnection(host, port); _connection.Connect(0, 1000); if (!String.IsNullOrEmpty(password)) { var cmd = RedisCommand.Auth(password); _connection.Call(cmd.Parser, cmd.Command, cmd.Arguments); } _readCancel = new CancellationTokenSource(); _reader = Task.Factory.StartNew(Read_Task); _callbackDispatchers = new Dictionary <string, RedisSubscriptionDispatcher>(); }