多页面如何共享缓存

gekiranger 2012-06-02 10:51:04
页面中有一个导航栏是根据后台数据库设置的内容而显示,自然需要用到缓存来加快效率。但是多个页面都会有这样的导航,如果每次新进入都缓存一次,这样都会变得好麻烦,想问下有办法能够多页面共享缓存来解决这个问题吗?
PS:我是使用Cache对象来制作缓存的……
...全文
200 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT-Style 2012-06-02
  • 打赏
  • 举报
回复
cache本身就是多页面共享的...
只是你取数据时取对应的key中的值就可以了.
gekiranger 2012-06-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

DataTable product;
if (Cache["Product"] == null)
{
//计算Product的值,如
product = cmd.Exex,,,,,

Cache.Insert("Product",product);
}
else
{
product = Cache["Product"] as DataTable ;
}
[/Quote]
好的……十分感谢……
代码小天王 2012-06-02
  • 打赏
  • 举报
回复
孟老师,有个问题想问您[Quote=引用 1 楼 的回复:]

Cache对象就是多页面共享的啊。
[/Quote]
孟子E章 2012-06-02
  • 打赏
  • 举报
回复
DataTable product;
if (Cache["Product"] == null)
{
//计算Product的值,如
product = cmd.Exex,,,,,

Cache.Insert("Product",product);
}
else
{
product = Cache["Product"] as DataTable ;
}
gekiranger 2012-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

/// <summary>
/// 获取所有菜单,从缓存中
/// </summary>
public List<Model.K_Menu> GetAllMenuList()
{
if (!enableCaching)
return men……
[/Quote]
这代码好像好像和我想的不同……比如直接判断Product标签的话,不知道我直接这样判断行不……
if (Cache["Product"] == null)
{

}
wtnu200 2012-06-02
  • 打赏
  • 举报
回复
/// <summary>
/// 获取所有菜单,从缓存中
/// </summary>
public List<Model.K_Menu> GetAllMenuList()
{
if (!enableCaching)
return menuDal.GetList();
List<Model.K_Menu> lst = new List<Model.K_Menu>();
if (Common.CacheOperate.GetCache("AllMenuList") != null)
lst = (List<Model.K_Menu>)Common.CacheOperate.GetCache("AllMenuList");
else
{
lst = menuDal.GetList();
int cacheDuration = int.Parse(ConfigurationManager.AppSettings["ListCacheDuration"]);
Common.CacheOperate.SetCache("AllMenuList", lst, null, DateTime.Now.AddMinutes(cacheDuration), Cache.NoSlidingExpiration, CacheItemPriority.High, null);
}
return lst;
}
wtnu200 2012-06-02
  • 打赏
  • 举报
回复
cache本来就是公用的,保存缓存时有个标签,你在取数据时,检查缓存为这个标签的缓存是否有数据,根据这做处理就行了。
孟子E章 2012-06-02
  • 打赏
  • 举报
回复
Cache对象就是多页面共享的啊。

62,267

社区成员

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

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

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

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