ASP.NET数据库缓存如何实现?

fhquemc 2010-09-23 10:34:55
我想实现的功能是:
一条SQL语句第一次执行时把结果缓存在那里
供后面访问的人使用,就不必再从数据库中读取了
要能设缓存时间,比如缓存只保留1小时,过期后又重新从数据库读取新的数据,咱个实现啊?
...全文
315 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhonwei123 2010-09-25
  • 打赏
  • 举报
回复
帮顶 好想看例子···
米娜Rose 2010-09-25
  • 打赏
  • 举报
回复
学习……
zhonwei123 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wang2129929 的回复:]
if (System.Web.HttpRuntime.Cache["TrafficCompan"]==null)//给缓存起名,并判断为null不,方括号里是名字
{
AccessDB objDB = new AccessDB();
dv = objDB.GetDataView("wahStkTypeCompanyGet",null);取数据
System.Web.HttpRuntime.……
[/Quote]

嗯 有用啊 终于找到答案了
  • 打赏
  • 举报
回复
DateTime.Now.AddSeconds 可以该的. now 后面能点出很多东西, 可以 分, 小时, 天, 月, 年
  • 打赏
  • 举报
回复
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();
matezy 2010-09-25
  • 打赏
  • 举报
回复
学习中……
misswangjinfeng 2010-09-25
  • 打赏
  • 举报
回复
来个好的吧!
phone1234 2010-09-25
  • 打赏
  • 举报
回复
帮顶,学习下!
zhonwei123 2010-09-25
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 diandian82 的回复:]
查查 SqlDependency
[/Quote]

可以给个具体的例子么?
diandian82 2010-09-25
  • 打赏
  • 举报
回复
查查 SqlDependency
zhonwei123 2010-09-25
  • 打赏
  • 举报
回复
在顶下··
huangwenquan123 2010-09-24
  • 打赏
  • 举报
回复
先判断缓存有没有存在
存在的话从缓存中取,不存在查询出记录添加到缓存里

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;
..//之后看你想要干嘛!
}

chen_ya_ping 2010-09-24
  • 打赏
  • 举报
回复
Cache 网上找这个类的资料。
wwfgu00ing 2010-09-24
  • 打赏
  • 举报
回复
fhquemc 2010-09-24
  • 打赏
  • 举报
回复
还是没怎么明白啊
麻烦再说明咱个用吧
或举个例子
wuyq11 2010-09-23
  • 打赏
  • 举报
回复
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); }

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧