ASP.NET数据库缓存如何实现? 我想实现的功能是:一条SQL语句第一次执行时把结果缓存在那里供后面访问的人使用,就不必再从数据库中读取了要能设缓存时间,比如缓存只保留1小时,过期后又重新从数据库读取新的数据,咱个实现啊? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Cache.Insert(string key,object value,CacheDependency dependencies,//依赖,设置缓存有效的依赖性,比如设置和一个文件相关,文件一变,就失效DateTime absoluteExpireation, //设置固定的过期时间TimeSpan slidingExpiration, //设置最后一次访问后多长时间过期CachePriority priority, //设置内存不足,缓存自动清除时,缓存的重要性,可不可以清除CacheItemRemovedCallback onRemoveCallback // 设置在清除时引发的事件)Cache.Add("Test","test", null,System.DateTime.Now.AddDays(10),TimeSpan.Zero, CacheItemPriority.Default,null); } Cache 网上找这个类的资料。 先判断缓存有没有存在存在的话从缓存中取,不存在查询出记录添加到缓存里if(Cache["Brand"]==null){ DataTable dt = SqlHelp.ExecuteDataTable("select * from table"); Cache.Insert("Brand",dt,null,DateTime.Now.AddDays(1),Timespan.Zero);}else{ DataTable dtable = Cache["Brand"] as DataTable; ..//之后看你想要干嘛!} if (System.Web.HttpRuntime.Cache["TrafficCompan"]==null)//给缓存起名,并判断为null不,方括号里是名字{AccessDB objDB = new AccessDB();dv = objDB.GetDataView("wahStkTypeCompanyGet",null);取数据System.Web.HttpRuntime.Cache.Add("TrafficCompan",dv,null,DateTime.Now.AddSeconds(1200), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High,null); 创建缓存,1200是设置时间,我这个是以秒为单位 合20分钟后自动消失}else 如果不为空就把就把缓存值给DataView{ dv= (DataView)System.Web.HttpRuntime.Cache["TrafficCompan"];}ddlTrafficCompan.DataSource = dv; 把数据绑定到下拉框上ddlTrafficCompan.DataTextField = "ItemName";ddlTrafficCompan.DataValueField = "SeqNo";ddlTrafficCompan.DataBind(); DateTime.Now.AddSeconds 可以该的. now 后面能点出很多东西, 可以 分, 小时, 天, 月, 年 web技能那么多,该如何选择? asp关于脚本的问题 VS2008连接不上SQL2005 Asp.net如何连接SQL Server2000数据库 请教大家两个小问题 获取用户控件的值,但是为NULL,附上详细代码 请问大家媒体点播的网站,需要实现那些功能,或提供已做过的网站。谢谢大家 要在后台编码中操作 ViewTree 控件,是不是要加 using Microsoft.Web.UI.WebControls; ?? SQL连接问题?? C#,asp.net后台得到post过来的参数和文件? DotNetTextBox在IE8下 布局乱了 access数据库update问题,总是修改失败!
string key,
object value,
CacheDependency dependencies,//依赖,设置缓存有效的依赖性,比如设置和一个文件相关,文件一变,就失效
DateTime absoluteExpireation, //设置固定的过期时间
TimeSpan slidingExpiration, //设置最后一次访问后多长时间过期
CachePriority priority, //设置内存不足,缓存自动清除时,缓存的重要性,可不可以清除
CacheItemRemovedCallback onRemoveCallback // 设置在清除时引发的事件
)
Cache.Add("Test","test", null,System.DateTime.Now.AddDays(10),TimeSpan.Zero, CacheItemPriority.Default,null); }
存在的话从缓存中取,不存在查询出记录添加到缓存里if(Cache["Brand"]==null)
{
DataTable dt = SqlHelp.ExecuteDataTable("select * from table");
Cache.Insert("Brand",dt,null,DateTime.Now.AddDays(1),Timespan.Zero);
}
else
{
DataTable dtable = Cache["Brand"] as DataTable;
..//之后看你想要干嘛!
}
{
AccessDB objDB = new AccessDB();
dv = objDB.GetDataView("wahStkTypeCompanyGet",null);取数据
System.Web.HttpRuntime.Cache.Add("TrafficCompan",dv,null,DateTime.Now.AddSeconds(1200), TimeSpan.Zero, System.Web.Caching.CacheItemPriority.High,null); 创建缓存,1200是设置时间,我这个是以秒为单位 合20分钟后自动消失
}
else 如果不为空就把就把缓存值给DataView
{
dv= (DataView)System.Web.HttpRuntime.Cache["TrafficCompan"];
}
ddlTrafficCompan.DataSource = dv; 把数据绑定到下拉框上
ddlTrafficCompan.DataTextField = "ItemName";
ddlTrafficCompan.DataValueField = "SeqNo";
ddlTrafficCompan.DataBind();