/// <summary> /// Gets all connections that match the filter /// </summary> /// <param name="filter">The filter to apply on the data set</param> /// <returns></returns> public Task <IEnumerable <T> > GetConnectionsAsync(Expression <Func <T, bool> > filter) { using IRedisClient redisClient = RedisManager.GetClient(); IRedisTypedClient <T> redisTypedClient = redisClient.As <T>(); IRedisSet <T> items = redisTypedClient.Sets[Key]; return(Task.FromResult(filter != null ? items.AsQueryable().Where(filter).AsEnumerable() : items.AsEnumerable())); }
/// <summary> /// /// </summary> /// <returns></returns> public Task Clear() { using (IRedisClient redisClient = RedisManager.GetClient()) { IRedisTypedClient <T> redisTypedClient = redisClient.As <T>(); IRedisSet <T> items = redisTypedClient.Sets[Key]; IEnumerable <T> connections = items.AsQueryable(); foreach (T connection in connections) { items.Remove(connection); } } return(Task.FromResult(0)); }