CacheDependency用法
系列目录:
SqlDependency缓存用法
Asp.net使用SqlDependency
SqlCacheDependency使用命令通知使缓存无效
CacheDependency用法
AggregateCacheDependency 用法
SqlCacheDependency使用轮流检测技术(轮询)使缓存无效
-------------------------------------------------------------------------------------------
按Msdn解释,CacheDependency在存储于 ASP.NET 应用程序的 Cache 对象中的项与文件、缓存键、文件或缓存键的数组或另一个 CacheDependency 对象之间建立依附性关系。CacheDependency 类监视依附性关系,以便在任何这些对象更改时,该缓存项都会自动移除。
CacheDependency有几中重载,各作用如下。
//假设缓存的来源文件是当前目录下的data.xml文件
//缓存依赖的文件路径
//缓存依赖的文件可以有多个
//检查缓存依赖更改的依据时间
//检查多个依赖文件更改的依据时间
//检查依赖多个文件,也依赖多个缓存键值
//关联依赖,还可以依赖于另一个文件缓存依赖
//文件和键值上次修改的依据时间
//文件、另一个缓存依赖和键值上次修改的依据时间
例子
用CacheDependency监控一个XML文件。当XML文件变更时清除缓存,然后重新取得数据。方法如下。
新建一个Asp.Net应用程序。在App_Data中建立一个XML文件,名为XmlData.XML。内容如下:
新建一个aspx文件,名子为CacheDependencyPage.aspx。在页面放一个GridView,命名为gvData用于显示XML数据。编写后台代码,如下:
{publicpartialclassCacheDependencyPage : System.Web.UI.Page
{protectedvoidPage_Load(objectsender, EventArgs e)
{if(!IsPostBack)
{
GetData();
}
}privatevoidGetData()
{
DataTable tableData =newDataTable();if(Cache["data"] ==null)
{
DataSet ds =newDataSet();stringfilePath =Server.MapPath("~/App_Data/XmlData.xml");
ds.ReadXml(filePath);
tableData =ds.Tables[0];
CacheDependency cdy =newCacheDependency(filePath);Cache.Insert("data", tableData, cdy); if(cdy.HasChanged)
{
System.Diagnostics.Debug.WriteLine("Xml已变更");
}
}else
{
tableData =(DataTable)Cache["data"];
}
gvData.DataSource =tableData;
gvData.DataBind();
}
}
}
测试,运行程序,页面上会显示XML中的数据,后台会缓存当前取出的数据。刷新页面时会中缓存中取数据。然后修改XML文件中的内容,再次刷新,缓存会被删除,然后重新取得XML中的内容。
CacheDependency用法相关推荐
- Cache总义Cache用法之页面声明
Cache总义Cache用法之页面声明 <%@ outputCache Duration="#ofseconds" Location="Any|Client|Dow ...
- 缓存依赖中cachedependency对象
缓存依赖主要提供以下功能: 1.SQL 缓存依赖项可用于应用程序缓存和页输出缓存. 2.可在 SQL Server 7.0 及更高版本中使用 SQL 缓存依赖项. 3.可以在网络园(一台服务器上存在多 ...
- 细说 ASP.NET Cache 及其高级用法
阅读目录 开始 Cache的基本用途 Cache的定义 Cache常见用法 Cache类的特点 缓存项的过期时间 缓存项的依赖关系 - 依赖其它缓存项 缓存项的依赖关系 - 文件依赖 缓存项的移除优先 ...
- c语言中external,static关键字用法
static用法: 在C中,static主要定义全局静态变量.定义局部静态变量.定义静态函数. 1.定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量.全局静态变量有 ...
- Pandas_transform的用法
先来看一个实例问题. 如下销售数据中展现了三笔订单,每笔订单买了多种商品,求每种商品销售额占该笔订单总金额的比例.例如第一条数据的最终结果为:235.83 / (235.83+232.32+107.9 ...
- Python中yield和yield from的用法
yield 后面接的是 future 对象 调用方 委托生成器 yield from 直接给出循环后的结果 yield from 委托者和子生成器直接通信 yield from 直接处理stopIte ...
- pytorch学习 中 torch.squeeze() 和torch.unsqueeze()的用法
squeeze的用法主要就是对数据的维度进行压缩或者解压. 先看torch.squeeze() 这个函数主要对数据的维度进行压缩,去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的 ...
- python yield 和 yield from用法总结
#例1. 简单输出斐波那契數列前 N 个数 #缺点:该函数可复用性较差,因为 fab 函数返回 None,其他函数无法获得该函数生成的数列 #要提高 fab 函数的可复用性,最好不要直接打印出数列,而 ...
- tf.nn.embedding_lookup()的用法
函数: tf.nn.embedding_lookup( params, ids, partition_strategy='mod', name=None, validate_indices=True, ...
最新文章
- 如何超越console.log并充分利用浏览器的调试控制台
- linux mysql内网_在Linux中mysql的一些基本操作
- 2亿QQ用户大调度背后的架构设计和高效运营(上)
- ChannelFactory.Endpoint 上的地址属性为空。ChannelFactory 的终结点必须指定一个有效的地址。...
- 求1~n的全排列组合
- 面向侧面的程序设计AOP-------《二》本质
- pc端文本_使用即将推出的Windows功能从PC发送文本
- 单片机实验:交通灯控制
- Oracle建立表空间,用户等环节
- 21天Jenkins打卡Day14-maven服务
- Android通话录音
- jar文件怎么打开 查看jar文件内容操作方法
- 孙宇晨大举进驻NFT艺术的背后:区块链+艺术还能有怎样的玩法?
- python 经典图书排行榜_知乎必读书单排行榜
- PRML读书笔记(一)
- iOS 图片涂鸦功能
- 痞子衡嵌入式:利用GPIO模块来测量i.MXRT1xxx的系统中断延迟时间
- 斯坦福大学卷积神经网络----Module 1 Lesson 4 反向传播
- MTK Wlan驱动功能
- 介绍Python/Django的在线好书推荐
热门文章
- C语言指针、数组与sizeof运算符
- 查找数组中任一峰值的下标
- C/C++中*和的用法详解
- c语言词法分析程序,词法分析器(c语言实现)
- linux命令实验设备,实验二 Linux系统的常用命令
- 「SVN」Ubuntu 版本库搭建+使用 完整教程
- 学习笔记:Zookeeper 应用案例(上下线动态感知)
- 1CCTableView的使用,TableView响应和小格子tableView实现
- 4.mysql数据库创建,表创建模等模板脚本,mysql_SQL99标准的连接查询(内连接,外连接,满外连接,交叉连接)
- 1线程同步:互斥量,死锁