Example #1
0
        static void Main(string[] args)
        {
            string data;

            using (var sr = new StreamReader(@"Sample.json"))
            {
                data = sr.ReadToEnd();
            }
            //data = "test";
            var logger = new AppLogger();


            var executor = new RedisExecutor(logger);

            int.TryParse(ConfigurationManager.AppSettings["threadsNumber"], out int threadsNumber);
            int.TryParse(ConfigurationManager.AppSettings["operationsNumber"], out int operationsNumber);
            int.TryParse(ConfigurationManager.AppSettings["secondsNumber"], out int secondsToRun);

            int[] tasks = Enumerable.Range(1, threadsNumber).ToArray();

            logger.Info($"Starting with {threadsNumber} threads and {operationsNumber} operations.");
            var timeUp = TimeSpan.FromSeconds(secondsToRun);

            RedisCacheW.Instance.RedisCache.Get("asasjakjsa");

            Parallel.ForEach(tasks, t => {
                var watcher = new Stopwatch();
                watcher.Start();
                do
                {
                    Task.Factory
                    .StartNew(() =>
                    {
                        executor.ExecuteInsertsAndReads(data, operationsNumber);
                    })
                    .Wait();
                    Console.Clear();
                    Console.WriteLine($"Elapsed: {watcher.Elapsed} of {timeUp}");
                }while (watcher.Elapsed < timeUp);
            });


            Console.WriteLine("Press any key...");
            Console.ReadLine();
        }