protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); List<Persona> lista = new List<Persona>(); List<PersonaCustomizada> listaOpt = new List<PersonaCustomizada>(); for (int i = 0; i < 1000; i++) { Persona p = new Persona { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i%2, Pedidos = new List<Pedido>() }; lista.Add(p); Persona pc = new Persona { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i % 2, Pedidos = new List<Pedido>() }; PersonaCustomizada pcOpt = new PersonaCustomizada { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i % 2, Pedidos = new List<Pedido>() }; HttpContext.Current.Cache.Add("Persona" + i, pc, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); HttpContext.Current.Cache.Add("PersonaOpt" + i, pcOpt, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); } HttpContext.Current.Cache.Add("listaPersona", lista, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); HttpContext.Current.Cache.Add("listaPersonaOpt", listaOpt, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); }
// // GET: /DefaultCaching/ public ActionResult Index() { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); Random rnd = new Random(); int nroVueltas = 1000; for (int i = 0; i < nroVueltas; i++) { List <Persona> lista = HttpContext.Cache["listaPersona"] as List <Persona>; if (lista != null) { Persona persona = lista[rnd.Next(0, nroVueltas)]; } } TimeSpan ts = stopWatch.Elapsed; ViewBag.Duracion = ts.TotalMilliseconds; /**********************************************/ stopWatch = new Stopwatch(); stopWatch.Start(); rnd = new Random(); for (int i = 0; i < nroVueltas; i++) { List <PersonaCustomizada> lista = HttpContext.Cache["listaPersonaOpt"] as List <PersonaCustomizada>; if (lista != null) { PersonaCustomizada persona = lista[rnd.Next(0, nroVueltas)]; } } ts = stopWatch.Elapsed; ViewBag.DuracionOpt = ts.TotalMilliseconds; /**********************************************/ stopWatch = new Stopwatch(); stopWatch.Start(); rnd = new Random(); for (int i = 0; i < nroVueltas; i++) { Persona persona = HttpContext.Cache["Persona" + rnd.Next(0, nroVueltas)] as Persona; } ts = stopWatch.Elapsed; ViewBag.DuracionCustomizada = ts.TotalMilliseconds; /**********************************************/ stopWatch = new Stopwatch(); stopWatch.Start(); rnd = new Random(); for (int i = 0; i < nroVueltas; i++) { PersonaCustomizada persona = HttpContext.Cache["PersonaOpt" + rnd.Next(0, nroVueltas)] as PersonaCustomizada; } ts = stopWatch.Elapsed; ViewBag.DuracionCustomizadaOpt = ts.TotalMilliseconds; return(View()); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); List <Persona> lista = new List <Persona>(); List <PersonaCustomizada> listaOpt = new List <PersonaCustomizada>(); for (int i = 0; i < 1000; i++) { Persona p = new Persona { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i % 2, Pedidos = new List <Pedido>() }; lista.Add(p); Persona pc = new Persona { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i % 2, Pedidos = new List <Pedido>() }; PersonaCustomizada pcOpt = new PersonaCustomizada { Id = i, ApellidoMaterno = "Apellido Materno " + i, ApellidoPaterno = "Apellido Paterno " + i, Email = "email" + i + "@gmail.com", FechaNacimiento = DateTime.Now, Nombre = "Nombre " + i, TipoSexo = i % 2, Pedidos = new List <Pedido>() }; HttpContext.Current.Cache.Add("Persona" + i, pc, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); HttpContext.Current.Cache.Add("PersonaOpt" + i, pcOpt, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); } HttpContext.Current.Cache.Add("listaPersona", lista, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); HttpContext.Current.Cache.Add("listaPersonaOpt", listaOpt, null, DateTime.Today.AddHours(6), Cache.NoSlidingExpiration, CacheItemPriority.AboveNormal, null); }