ServiceStack.Redis.RedisClient.GetConfig C# (CSharp) Method

GetConfig() public method

public GetConfig ( string configItem ) : string
configItem string
return string
        public string GetConfig(string configItem)
        {
            var sb = StringBuilderCache.Allocate();
            var byteArray = base.ConfigGet(configItem);
            const int startAt = 1; //skip repeating config name
            for (var i = startAt; i < byteArray.Length; i++)
            {
                var bytes = byteArray[i];
                if (sb.Length > 0)
                    sb.Append(" ");

                sb.Append(bytes.FromUtf8Bytes());
            }
            return StringBuilderCache.ReturnAndFree(sb);
        }

Usage Example

Exemplo n.º 1
0
        public void Can_recover_from_server_terminated_client_connection()
        {
            const int SleepHoldingClientMs = 5;
            const int SleepAfterReleasingClientMs = 0;
            const int loop = 1000;

            var admin = new RedisClient("localhost");
            admin.SetConfig("timeout", "0");
            var timeout = admin.GetConfig("timeout");
            timeout.Print("timeout: {0}");

            int remaining = loop;
            var stopwatch = Stopwatch.StartNew();

            var clientManager = new PooledRedisClientManager(new[] { "localhost" })
                {
                    
                };
            loop.Times(i =>
                {
                    ThreadPool.QueueUserWorkItem(x =>
                    {
                        try
                        {
                            using (var client = (RedisClient)clientManager.GetClient())
                            {
                                client.IncrementValue("key");
                                var val = client.Get<long>("key");
                                "#{0}, isConnected: {1}".Print(val, true); //client.IsSocketConnected()
                                Thread.Sleep(SleepHoldingClientMs);
                            }
                            Thread.Sleep(SleepAfterReleasingClientMs);
                        }
                        catch (Exception ex)
                        {
                            ex.Message.Print();
                        }
                        finally
                        {
                            remaining--;
                        }
                    });
                });

            while (remaining > 0)
            {
                Thread.Sleep(10);
            }
            "Elapsed time: {0}ms".Print(stopwatch.ElapsedMilliseconds);

            var managerStats = clientManager.GetStats();
            managerStats.PrintDump();
        }