public void TryGetConnection_ConnectionSharing()
 {
     Utility.SetConfigUtilityToDefault();
     RedisSharedConnection redisSharedConnection = new RedisSharedConnection(RedisSessionStateProvider.configuration,
         () => new FakeRedisClientConnection());
     IRedisClientConnection connection = redisSharedConnection.TryGetConnection();
     IRedisClientConnection connection2 = redisSharedConnection.TryGetConnection();
     Assert.Equal(connection, connection2);
 }
 public void TryGetConnection_CreateNewConnection()
 {
     Utility.SetConfigUtilityToDefault();
     RedisSharedConnection redisSharedConnection = new RedisSharedConnection(RedisSessionStateProvider.configuration,
         () => new FakeRedisClientConnection());
     Assert.Null(redisSharedConnection.connection);
     IRedisClientConnection connection = redisSharedConnection.TryGetConnection();
     Assert.NotNull(connection);
     Assert.NotNull(redisSharedConnection.connection);
 }
Exemple #3
0
        public void TryGetConnection_CreateNewConnection()
        {
            Utility.SetConfigUtilityToDefault();
            RedisSharedConnection redisSharedConnection = new RedisSharedConnection(RedisSessionStateProvider.configuration,
                                                                                    () => new FakeRedisClientConnection());

            Assert.Null(redisSharedConnection.connection);
            IRedisClientConnection connection = redisSharedConnection.TryGetConnection();

            Assert.NotNull(connection);
            Assert.NotNull(redisSharedConnection.connection);
        }
Exemple #4
0
        public HttpResponseMessage DeleteAllKeys()
        {
            try
            {
                RedisSharedConnection.GetRedisServer().FlushDatabase();

                return(new HttpResponseMessage(HttpStatusCode.OK));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        private void GetAllKeysFromRedis()
        {
            var keys = RedisSharedConnection.GetRedisServer().Keys();

            var cachedb = RedisSharedConnection.Connection.GetDatabase();

            string[] keysArr = keys.Select(key => (string)key).ToArray();

            foreach (var key in keysArr)
            {
                var task = Task.Run(async() => await cachedb.StringGetAsync(key).ConfigureAwait(false));

                task.Wait();

                redisDictionary.Add(key, task.Result);

                // cachedb.StringGet(key);
            }
        }
        public RedisConnectionWrapper(ProviderConfiguration configuration, string id)
        {
            this.configuration = configuration;
            Keys = new KeyGenerator(id, configuration.ApplicationName);

            // Pool is created by server when it starts. don't want to lock everytime when check pool == null.
            // so that is why pool == null exists twice.
            if (sharedConnection == null)
            {
                lock (lockForSharedConnection)
                {
                    if (sharedConnection == null)
                    {
                        sharedConnection = new RedisSharedConnection(configuration, () => new StackExchangeClientConnection(configuration));
                        redisUtility     = new RedisUtility(configuration);
                    }
                }
            }
            redisConnection = sharedConnection.TryGetConnection();
        }