public static Task <IRedisClient> ConnectAsync(string host, int port, int dbIndex = 0, BasicRedisSerializer serializer = null) { var result = new RedisClient(new RedisConnectionStringBuilder(host, port, dbIndex), serializer); return(((IPrepareSupportRedisClient)result).PrepareClientConnection()); }
public static Task <IRedisClient> ConnectAsync(string connectionString, BasicRedisSerializer serializer = null) { var result = new RedisClient(new RedisConnectionStringBuilder(connectionString), serializer); return(((IPrepareSupportRedisClient)result).PrepareClientConnection()); }
public Task <IRedisClient> CreateClientAsync(RedisConnectionStringBuilder connectionString, BasicRedisSerializer serializer = null) { ThrowIfDisposed(); var tcs = new TaskCompletionSource <IRedisClient>(); var pool = _pools.GetOrAdd(connectionString.ToString(), k => new ConcurrentQueue <PoolItem>()); PoolItem item; if (pool.TryDequeue(out item)) { tcs.SetResult(item.Client); } else { CreateAndPrepareClient(connectionString, serializer) .ContinueWith(t => { if (t.IsFaulted) { tcs.SetException(t.Exception.UnwrapAggregation()); } else { tcs.SetResult(t.Result); } }); } return(tcs.Task); }
public Task <IRedisClient> CreateClientAsync(string host, int port, int dbIndex = 0, BasicRedisSerializer serializer = null) { return(CreateClientAsync(new RedisConnectionStringBuilder(host, port, dbIndex), serializer)); }
public Task <IRedisClient> CreateClientAsync(string connectionString, BasicRedisSerializer serializer = null) { return(CreateClientAsync(new RedisConnectionStringBuilder(connectionString), serializer)); }
private Task <IRedisClient> CreateAndPrepareClient(RedisConnectionStringBuilder connectionString, BasicRedisSerializer serializer) { var client = _redisClientsFactory(connectionString, serializer); return(client.PrepareClientConnection()); }
public PooledRedisClient(RedisClientsPool pool, RedisConnectionStringBuilder connectionString, BasicRedisSerializer serializer) : base(connectionString, serializer) { _pool = pool; }