缓存服务学习
来源:互联网 发布:吴鉴鹰单片机百度云 编辑:程序博客网 时间:2024/06/05 19:33
1.输出缓存,它缓存请求所生成的动态响应
<%@ OutputCache Duration="60" VaryByParam="none"%>
<%@ OutputCache Duration="60" VaryByParam="state" %>
应用程序若要更多地控制与缓存相关的 HTTP 标头,可使用 System.Web.HttpCachePolicy 类提供的功能。下面的示例显示等效于上例中使用的页指令的代码。
Response.Cache.SetExpires(DateTime.Now.AddSeconds(60));
Response.Cache.SetCacheability(HttpCacheability.Public);
2.片断缓存,它缓存请求所生成的响应的各部分
<%@ OutputCache Duration="120" VaryByParam="CategoryID;SelectedID"%>
除了支持 VaryByParam 属性外,片段缓存还支持 VaryByControl 属性。VaryByParam 属性基于使用 POST 或 GET 发送的名称/值对改变缓存结果,而 VaryByControl 属性则通过用户控件中的控件改变缓存片段。
<%@ OutputCache Duration="120" VaryByParam="none" VaryByControl="Category" %>
注意:与输出缓存页相似,即使不使用 VaryByParam,也要求显式使用它。
注意:如果尝试以编程方式从包含输出缓存控件的页操作该控件,则会导致错误。
3.数据缓存,它以编程方式缓存任意对象。为支持这种缓存,ASP.NET 提供了全功能的缓存引擎,使程序员能够轻松地在请求间保留数据。
Cache["mykey"] = myValue;
注意:文件依赖项是通过使用 Cache.Insert 并提供引用 XML 文件的 CacheDependency 对象添加的。
Cache.Insert("MyData", Source,new CacheDependency(Server.MapPath("authors.xml")));
下列代码设置绝对的缓存过期时间。
Cache.Insert("MyData", Source, null,DateTime.Now.AddHours(1), TimeSpan.Zero);
============================================================
Application vs. Cache Class Speed Tests
http://www.eggheadcafe.com/articles/20030405.asp
Caching Dependencies in ASP.NET: Part I
http://www.c-sharpcorner.com/Code/2002/April/cachingdependenciespartI.asp
ASP.NET 缓存:方法和最佳实践
http://www.microsoft.com/china/MSDN/library/WebServices/ASP.NET/ASP.NETCaching-TechniquesandBestPractiCEs.mspx
http://aspalliance.com/articleViewer.aspx?aId=69
在ASP.NET 中实现单点登录(看下思路即可,个人主张不推荐这样用)
http://dotnet.aspx.cc/ShowDetail.aspx?id=CF5FFABC-CFE1-4368-3C13-9B4FCD7C7168
============================================================
问的最多的问题:在一个自定义的类中如何使用Cache?
解决办法:
1.使用HttpContext获取上下文中的CACHE
2.类里写函数传递System.Web.UI.Page参数
3.使用System.Web.HttpRuntime获取运行时的CACHE
例子:
在自定义的类中定义如下方法:
public string CacheString()
{
if(System.Web.HttpContext.Current.Cache["MyData"] == null)
{
System.Web.HttpContext.Current.Cache.Insert("MyData","hubinasm is strong");
}
return System.Web.HttpContext.Current.Cache["MyData"].ToString();
}
public string CacheString(System.Web.UI.Page p)
{
if(p.Cache["MyData"] == null)
{
string myName = "hubinasm";
p.Cache.Insert("MyData",myName);
}
return p.Cache["MyData"].ToString();
}
public string CacheString2()
{
if(System.Web.HttpRuntime.Cache["MyData2"] == null)
{
System.Web.HttpRuntime.Cache.Insert("MyData2","hubinasm is strong");
}
return System.Web.HttpRuntime.Cache["MyData2"].ToString();
}
则可以在*.aspx.cs文件中这样使用
你的自定义类实例.CacheString() 和 你的自定义类实例.CacheString(this) 和 你的自定义类实例.CacheString2()
- 缓存服务学习
- redis缓存服务学习
- redis 分布式缓存服务 学习笔记
- Memcahed分布式缓存服务 学习笔记
- 缓存服务
- 缓存服务
- Nginx学习笔记七Nginx的Web缓存服务
- Nginx学习笔记七Nginx的Web缓存服务
- Nginx学习笔记七Nginx的Web缓存服务
- 地图服务缓存生产
- nginx+memcache缓存服务
- AngularJs $cacheFactory 缓存服务
- 代理缓存服务-squid
- redis缓存服务
- AngularJs $cacheFactory 缓存服务
- 06.14 memcached缓存服务
- 缓存学习
- hsf dubbo学习五--服务分组,多版本,参数验证,结果缓存
- 如何传递数组参数并避免数组"降价"
- 美网民通过Google Earth三次发现“中事机密”
- 微软要在年内推出IPTV平台 抢占客厅市场
- 开源GIS系统
- 网络富豪 百度李彦宏全球第二
- 缓存服务学习
- 总结几个产生上万流量的方法
- taocp学习思潮[水上原创]
- windows 文件夹
- 智能体技术
- 看了很有感觉--小菜编程成长记(一)
- 小菜编程成长记(二、续上)
- Flex2新闻阅读器Sample高级版,^_^
- 常用Javascript代码