1:缓存依赖的类别
文件,数据表,数据行,一段时间,控件,查询字符串等
2:缓存项之间的依赖
protected void Button3_Click(object sender, EventArgs e)
以上代码中
Key:缓存集合中唯一确认一项的键
Value:保存在缓存中的值
Reason:是"CacheItemRemovedReason"的一个枚举.说明缓存项被移出的原因
我们也可以手动移出缓存
Cache.Remove("ItemA");
3: 缓存依赖于文件
<?xml version="1.0" encoding="utf-8"?>
<MenuItems>
<MenuItem>
<Text>Home</Text>
</MenuItem>
<MenuItem>
<Text>About us</Text>
</MenuItem>
<MenuItem>
<Text>Contact us</Text>
</MenuItem>
<MenuItem>
<Text>Help</Text>
</MenuItem>
<MenuItem>
<Text>Feature</Text>
</MenuItem>
</MenuItems>



string menuPath = "MyFiles/Menu.xml";
string folderName = "MyFiles/";

DataSet ds = null;
if (Cache["Menu"] == null)
我们也可以将缓存依赖于文件夹.当文件夹下的文件和子级文件夹被创建,更新,删除的时候跟新缓存.
4:数据库中的缓存依赖
<connectionStrings>
<add name="ConnectionString"
connectionString="Server=localhost;Database=School;
Trusted_Connection=true"/>
</connectionStrings>

<system.web>
<caching>
<sqlCacheDependency pollTime="10000" enabled="true" >
<databases>
<add connectionStringName="ConnectionString" name="School"/>
</databases>
</sqlCacheDependency>
</caching></caching>


if (Cache["Users"] == null)
SqlCacheDependency dep = new SqlCacheDependency("School", "Users"); 这句话用于创建一个与数据库School中表Users关联的缓存.当我们对Users进行INSERT, DELETE, UPDATE操作的时候缓存会被移出(Cache["Users"]==null ).
这部分代码适用于sql2000,在sql2005下没有这么麻烦.回头我们再讨论sql2005下的缓存.
相关文章: