第9章 缓存技术
缓存的目的:提高服务器的反应速率,提高程序性能.
从分布来说缓存可分为:客户端缓存和服务器端缓存
ASP.NET缓存主要分为页面缓存和数据缓存.
页面缓存的使用方法如下:
在aspx页面的顶部加: <%@ OutputCache Duration="60" VaryByParam="none"%>
Duration:缓存时间
VaryByParam:缓存改变的条件
注意:用户控件(.ascx文件)中的@OutputCache指令不支持此属性.
下面是一个缓存类以及缓存方法的调用:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Caching; namespace test { public class Cache { /// <summary> /// 获取当前应用程序指定CacheKey的Cache对象值 /// </summary> /// <param name="CacheKey">索引键值</param> /// <returns>返回缓存对象</returns> public static object GetCache(string CacheKey) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; return objCache[CacheKey]; } /// <summary> /// 获取当前应用程序指定CacheKey的Cache对象值 /// </summary> /// <param name="CacheKey">索引键值</param> /// <param name="objObject">缓存对象</param> public static void SetCache(string CacheKey, object objObject) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; objCache.Insert(CacheKey, objObject); } /// <summary> /// 获取当前应用程序指定CacheKey的Cache对象值 /// </summary> /// <param name="CacheKey">索引键值</param> /// <param name="objObject">缓存对象</param> /// <param name="absoluteExpiration">绝对过期时间</param> /// <param name="slidingExpiration">最后一次访问所插入对象时与该对象过期时之间的时间间隔</param> public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration, TimeSpan slidingExpiration) { System.Web.Caching.Cache objCache = HttpRuntime.Cache; objCache.Insert(CacheKey,objObject,null,absoluteExpiration,slidingExpiration); } //调用缓存 protected void Page_Load(object sender, EventArgs e) { string CacheKey = "cachetest"; object objModel = GetCache(CacheKey);//从缓存中获取 if (objModel != null) { int CacheTime = 30; //缓存时间30秒 SetCache(CacheKey,objModel,DateTime.Now.AddSeconds(CacheTime),TimeSpan.Zero); //写入缓存 } } } }
所以通过使用Cache对象来管理缓存.Insert()方法添加缓存,Remove()方法移除缓存项.

浙公网安备 33010602011771号