コード例 #1
0
        public void BasicRedisClientManager_alternates_hosts()
        {
            using (var redisManager = new BasicRedisClientManager(MasterHosts, SlaveHosts))
            {
                using (var master = redisManager.GetClient())
                {
                    Assert.That(master.GetHostString(), Is.EqualTo(MasterHosts[0]));
                    master.SetValue("KEY", "1");
                }
                using (var master = redisManager.GetClient())
                {
                    Assert.That(master.GetHostString(), Is.EqualTo(MasterHosts[0]));
                    master.Increment("KEY", 1);
                }

                5.Times(i =>
                {
                    using (var readOnly = redisManager.GetReadOnlyClient())
                    {
                        Assert.That(readOnly.GetHostString(), Is.EqualTo(SlaveHosts[i % SlaveHosts.Length]));
                        Assert.That(readOnly.GetValue("KEY"), Is.EqualTo("2"));
                    }
                });

                using (var cahce = redisManager.GetCacheClient())
                {
                    Assert.That(cahce.Get <string>("KEY"), Is.EqualTo("2"));
                }
            }
        }
コード例 #2
0
        public void BasicRedisClientManager_alternates_hosts()
        {
            using (var redisManager = new BasicRedisClientManager(Config.MasterHosts, Config.SlaveHosts)) {
                using (var master = redisManager.GetClient()) {
                    Assert.That(master.GetHostString(), Is.EqualTo(Config.Sentinel6380));
                    master.SetValue("KEY", "1");
                }

                using (var master = redisManager.GetClient()) {
                    Assert.That(master.GetHostString(), Is.EqualTo(Config.Sentinel6380));
                    master.Increment("KEY", 1);
                }

                for (var i = 0; i < 5; i++)
                {
                    using (var readOnly = redisManager.GetReadOnlyClient()) {
                        Assert.That(readOnly.GetHostString(), Is.EqualTo(Config.Sentinel6381).Or.EqualTo(Config.Sentinel6382));
                        Assert.That(readOnly.GetValue("KEY"), Is.EqualTo("2"));
                    }
                }

                using (var cache = redisManager.GetCacheClient()) {
                    Assert.That(cache.Get <string>("KEY"), Is.EqualTo("2"));
                }
            }
        }
コード例 #3
0
ファイル: RedisTest.cs プロジェクト: wxr524720/Jusfr.Caching
        public void RedisNativeClientTest3()
        {
            var connectionString = ConfigurationManager.AppSettings.Get("cache:redis");
            var key = "RedisParallelTest3";

            var redisManager = new BasicRedisClientManager(connectionString);

            redisManager.ConnectTimeout = 100;
            using (var client = (IRedisNativeClient)redisManager.GetCacheClient()) {
                client.Del(key);
            }

            var actions = Enumerable.Repeat(1, 100).Select(i => new Action(() => {
                redisManager.ConnectTimeout = 100;
                using (var client = (IRedisNativeClient)redisManager.GetCacheClient()) {
                    client.Incr(key);
                }
            })).ToArray();

            Parallel.Invoke(actions);
        }
コード例 #4
0
        public void BasicRedisClientManager_alternates_hosts()
        {
            using (var redisManager = new BasicRedisClientManager(MasterHosts, SlaveHosts))
            {
                using (var master = redisManager.GetClient())
                {
                    Assert.That(master.GetHostString(), Is.EqualTo(MasterHosts[0]));
                    master.SetValue("KEY", "1");
                }
                using (var master = redisManager.GetClient())
                {
                    Assert.That(master.GetHostString(), Is.EqualTo(MasterHosts[0]));
                    master.Increment("KEY", 1);
                }

                5.Times(i =>
                {
                    using (var readOnly = redisManager.GetReadOnlyClient())
                    {
                        Assert.That(readOnly.GetHostString(), Is.EqualTo(SlaveHosts[i % SlaveHosts.Length]));
                        Assert.That(readOnly.GetValue("KEY"), Is.EqualTo("2"));
                    }
                });

                using (var cahce = redisManager.GetCacheClient())
                {
                    Assert.That(cahce.Get<string>("KEY"), Is.EqualTo("2"));
                }
            }
        }
コード例 #5
0
ファイル: RedisTest.cs プロジェクト: wxr524720/Jusfr.Caching
        public void RedisNativeClientTest3() {
            var connectionString = ConfigurationManager.AppSettings.Get("cache:redis");
            var key = "RedisParallelTest3";

            var redisManager = new BasicRedisClientManager(connectionString);

            redisManager.ConnectTimeout = 100;
            using (var client = (IRedisNativeClient)redisManager.GetCacheClient()) {
                client.Del(key);
            }

            var actions = Enumerable.Repeat(1, 100).Select(i => new Action(() => {
                redisManager.ConnectTimeout = 100;
                using (var client = (IRedisNativeClient)redisManager.GetCacheClient()) {
                    client.Incr(key);
                }
            })).ToArray();

            Parallel.Invoke(actions);
        }