Ejemplo n.º 1
0
        static void HashReadTest()
        {
            Console.WriteLine("Hash 读取测试");
            Console.WriteLine("请输入DB:");
            var db = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入KEY:");
            var key = Console.ReadLine();

            Console.WriteLine("请输入开始值:");
            var start = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入结束值:");
            var end = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始整理。。。");
            var rds    = new CSRedis.CSRedisClient(null, $"127.0.0.1:6379,defaultDatabase={db},poolsize=100,ssl=false,writeBuffer=102400");
            var result = new List <string>();
            var stw    = Stopwatch.StartNew();

            for (int i = start; i < end; i++)
            {
                var member = $"{key}_{i}";
                var a      = rds.HGet <decimal>(key, member);
                result.Add($"key:{key}      member:{member}      value:{a}");
            }

            stw.Stop();

            //foreach (var item in result)
            //{
            //    Console.WriteLine(item);
            //}

            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis {end - start}条数据读取完成,耗时 {stw.ElapsedMilliseconds} 毫秒。。。");
        }
Ejemplo n.º 2
0
        static void HashReadTaskTest()
        {
            Console.WriteLine("Hash 读取测试");
            Console.WriteLine("请输入DB:");
            var db = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入KEY:");
            var key = Console.ReadLine();

            Console.WriteLine("请输入开始值:");
            var start = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("请输入结束值:");
            var end = Convert.ToInt32(Console.ReadLine());

            var stw = Stopwatch.StartNew();

            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始执行。。。");

            var tasks      = new List <Task <List <string> > >();
            var task_count = 5;
            var task_total = end - start;
            var task_size  = Convert.ToInt32(task_total / task_count);

            task_count = task_total % task_count > 0 ? ++task_count : task_count;

            for (int i = 0; i < task_count; i++)
            {
                tasks.Add(Task.Factory.StartNew <List <string> >(m =>
                {
                    Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 线程{m}开始执行。。。");

                    var task_stw    = Stopwatch.StartNew();
                    var task_index  = Convert.ToInt32(m);
                    var task_start  = task_index * task_size;
                    var task_end    = task_index * task_size + task_size;
                    task_end        = task_end > task_total ? task_total : task_end;
                    var task_redis  = new CSRedis.CSRedisClient(null, $"127.0.0.1:6379,defaultDatabase={db},poolsize=100,ssl=false,writeBuffer=102400");
                    var task_result = new List <string>();
                    for (int j = task_start; j < task_end; j++)
                    {
                        var member = $"{key}_{j}";
                        var a      = task_redis.HGet <decimal>(key, member);
                        task_result.Add($"key:{key}      member:{member}      value:{a}");
                    }

                    task_stw.Stop();
                    Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 线程{m} 执行完成,读取数据 {task_result.Count} ,耗时 {task_stw.Elapsed.TotalMilliseconds} ms");

                    return(task_result);
                }, i));
            }

            while (!tasks.All(m => m.IsCompleted))
            {
            }

            var result = new List <string>();

            foreach (var task in tasks)
            {
                result.AddRange(task.Result);
            }

            stw.Stop();
            Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis {result.Count} 条数据读取完成,耗时 {stw.ElapsedMilliseconds} 毫秒。。。");
        }