昨天尝试用了下 asp.net cach缓存,发现他能很大的提高系统的性能。
1.创建
using System.Web.Caching;
using System.Xml;
dtJw = db.GetDataTable(sqlJw);
dtYj = db.GetDataTable(sqlYj);
dtSj = db.GetDataTable(sqlSj);
Cache.Remove("dtJw");
Cache.Remove("dtYj");
Cache.Remove("dtSl");
Cache.Insert("dtJw", dtJw, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
Cache.Insert("dtYj", dtYj, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
Cache.Insert("dtSj", dtSj, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
当然还有Cache.Add()方法,而且insert方法也是有很多重载的,具体就用到上网再查吧。
2.使用
if (Cache["dtJw"] != null && Cache["dtYj"] != null && Cache["dtSj"] != null)
{
dtJw = (DataTable)Cache["dtJw"];
dtYj = (DataTable)Cache["dtYj"];
dtSj = (DataTable)Cache["dtSj"];
}
else
{……}
之所以提高系统能,是因为他可以将大量数据放在服务器上的内存块里,下次用到相同数据时,就不用再次访问 数据库服务器取得数据,而是直接从内存中读取。但是这个内存块是面向整个系统的,所有用户都能访问和更改 。因此可能出现B用户调用了A用户缓存的数据,导致错误。