System.Web.Caching命名空间类介绍
2009-11-05 12:09
197 查看
在System.Web.Caching下的类,主要是处理web客户端的Cache
它有如下主要类:
Cache
CacheDependency
SqlCacheDependency
类比较简单直观,只是要特别说明一下Cache类的方法
Add
Insert
Remove
Get
GetType
GetEnumerator
大家是不是没有看到没有修改cache中数据的方法?也就是memcache中的set方法,用insert替代就可以了
CacheDependency类也有必要介绍
它是架设在数据和cache之间的一座桥梁,称为缓存依赖类,其意义表现在当缓存对象的实际数据发生改变时,他能及时通知缓存对象
具体用法如下
private static CacheDependency mydepen;
…………
if(Cache[XXX]==null)
{
DataSet myds=new Dataset();
myds.ReadXml(this.MapPath(Request.ApplicationPath+@"/data.xml");
mydepen=new CacheDependency(this.MapPath(Request.ApplicationPath+@"/data.xml");
Cache.Add("XXX",myds,mydepen,DataTime.Now.AddSeconds(10),TimeSpan.Zero,CacheItemPriority.Normal,null);
}
如果文件改动,dependency就会生效,然后同时把cache和dependency消除
-----------------------------------------------------------------------
Cache所在的命名空间是啥?
我的VS2008没法用Cache["key"]
是不是要包含什么命名空间么?
System.Web.Caching
using System.Web.Caching;
public sealed class Caches
{
// Methods
public Caches();
public static object Read(CacheKey Key)
{
return HttpRuntime.Cache[Key.ToString()];
}
public static void Write(CacheKey Key, object CacheValue)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}
public static void Write(CacheKey Key, object CacheValue, CacheDependency cd)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}
}
它有如下主要类:
Cache
CacheDependency
SqlCacheDependency
类比较简单直观,只是要特别说明一下Cache类的方法
Add
Insert
Remove
Get
GetType
GetEnumerator
大家是不是没有看到没有修改cache中数据的方法?也就是memcache中的set方法,用insert替代就可以了
CacheDependency类也有必要介绍
它是架设在数据和cache之间的一座桥梁,称为缓存依赖类,其意义表现在当缓存对象的实际数据发生改变时,他能及时通知缓存对象
具体用法如下
private static CacheDependency mydepen;
…………
if(Cache[XXX]==null)
{
DataSet myds=new Dataset();
myds.ReadXml(this.MapPath(Request.ApplicationPath+@"/data.xml");
mydepen=new CacheDependency(this.MapPath(Request.ApplicationPath+@"/data.xml");
Cache.Add("XXX",myds,mydepen,DataTime.Now.AddSeconds(10),TimeSpan.Zero,CacheItemPriority.Normal,null);
}
如果文件改动,dependency就会生效,然后同时把cache和dependency消除
-----------------------------------------------------------------------
Cache所在的命名空间是啥?
我的VS2008没法用Cache["key"]
是不是要包含什么命名空间么?
System.Web.Caching
using System.Web.Caching;
public sealed class Caches
{
// Methods
public Caches();
public static object Read(CacheKey Key)
{
return HttpRuntime.Cache[Key.ToString()];
}
public static void Write(CacheKey Key, object CacheValue)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, null, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}
public static void Write(CacheKey Key, object CacheValue, CacheDependency cd)
{
if (HttpRuntime.Cache[Key.ToString()] == null)
{
HttpRuntime.Cache.Add(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero, CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(Key.ToString(), CacheValue, cd, DateTime.Now.AddHours(10.0), TimeSpan.Zero);
}
}
}
相关文章推荐
- System.Web.Caching.Cache的简单介绍
- 深入System.Web.Caching命名空间 教你Hold住缓存管理(一)
- 深入System.Web.Caching命名空间 教你Hold住缓存管理(三)
- 深入System.Web.Caching命名空间 教你Hold住缓存管理(三)
- 深入System.Web.Caching命名空间 教你Hold住缓存管理
- (转)深入System.Web.Caching命名空间 教你Hold住缓存管理(一)
- 深入System.Web.Caching命名空间 教你Hold住缓存管理(二)
- 用System.Web.Caching.Cache保存数据类的缓存
- .Net内部缓存System.Web.Caching.Cache 和Redis缓存缓存工厂切换
- System.Web.Caching.Cache Web 缓存的使用
- 命名空间"system.web"中不存在类型或命名空间名称security
- System.Web中不存在类型或命名空间名称script 找不到System.Web.Extensions.dll引用
- 无法找到 Imports“System.Web.Mail”的命名空间或类型
- System.Web.Profile 命名空间
- 命名空间“System.Web.UI”中不存在类型或命名空间名称“ScriptManager”
- CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Html、Ajax”(是否缺少程序集引用?)
- Cache管理机制(System.Web.Caching)
- MVC-命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Html”(是否缺少程序集引用?)
- System.Web.Caching 缓存管理3
- System.Web 命名空间