项目八高速缓存跟踪检测站点部署.ppt
《项目八高速缓存跟踪检测站点部署.ppt》由会员分享,可在线阅读,更多相关《项目八高速缓存跟踪检测站点部署.ppt(63页珍藏版)》请在三一办公上搜索。
1、项目八 高速缓存跟踪检测站点部署,任务1 高速缓存任务2 跟踪检测任务3 站点部署,任务1 高速缓存,任务场景:,ASP.NET页面中执行最慢的操作是数据库访问,打开一个数据库连接并读取数据是比较耗时的。改进数据访问代码性能的最好方法是不访问它,利用ASP.NET 3.5的缓存机制可以将内存中的数据库记录缓存起来,直接从缓存中读取数据则快了很多。在本任务中,将创建一个电影浏览页面。当单击电影标题时,将显示选中电影的详细信息,并使用缓存机制来提高访问效率。,知识要点,缓存概述应用程序缓存添加缓存项读取缓存项删除缓存项页输出缓存使用页输出缓存什么是AJAX,8.1 缓存概述,缓存概述应用程序可以将
2、那些频繁访问的数据以及那些需要大量处理时间来创建的数据存储在内存中,从而提高性能两种基本的缓存机制来提高缓存功能应用程序缓存:它允许缓存所生成的数据。应用程序缓存提供了一种编程方式,通过键/值对将任意数据存储在内存中。使用应用程序缓存与使用应用程序状态类似,但是与应用程序状态不同的是,应用程序缓存中的数据是易失的,即数据并不是在整个应用程序生命周期中都存储在内存中。页输出缓存:它保存页处理输出,并在用户再次请求该页时调用所保存的输出,而不是再次处理该页。允许ASP.NET直接向客户端发送页响应,而不必再次经过页处理生命周期。,8.2 应用程序缓存,应用程序缓存是由类实现的,缓存实例(Cache
3、对象)是每个应用程序专用的,并且每个应用程序只有一个,通过Page类或UserControl类的Cache属性公开。缓存生存期依赖于应用程序的生存期,当重新启动应用程序后,将重新创建Cache对象,也就是说缓存数据将被清空。可以使用Cache对象访问应用程序缓存中的项,使用Cache对象的Insert方法向应用程序缓存添加项。,8.2 应用程序缓存,添加缓存项通过键和值直接设置项将项以键/值对的形式存放在Cache中,同样可以通过键来检索这些项。下述代码中,将商品分类信息缓存起来。CacheWareCategories=dsCategories;通过Insert方法将项添加到缓存中可以通过Ca
4、che类的Insert方法传递键和值来添加项,代码如下:Cache.Insert(WareCategories,dsCategories);,8.2 应用程序缓存,设置缓存依赖项在向缓存中添加项时,可以为Cache对象的Insert或Add方法传递CacheDependncy对象(或SqlCacheDependncy对象)的一个实例,以添加上表中的缓存依赖项。如果具有关联依赖项的项发生更改,缓存项便会失效并从缓存中删除。,8.2 应用程序缓存,添加缓存项的键依赖项如果一个缓存项依赖于一个依赖项,当依赖项更改时则缓存项也被删除。向CacheItem2添加依赖项CacheItem1,因此,只要Ca
5、cheItem1发生变化,则CacheItem2立即从缓存中删除。,Cache.Insert(CacheItem2,CacheValue2,new System.Web.Caching.CacheDependency(null,new string CacheItem1);,8.2 应用程序缓存,添加缓存项的文件依赖项缓存依赖项还可以依赖于文件,当文件被修改或删除时,缓存项将被删除。添加缓存项的SQL依赖项在实际应用中,往往需要将数据库中某个表的记录进行缓存。但是,由于数据库中的记录是随时变化的,如被某个用户修改了记录或添加、删除了记录等。在这种情况下,就可以为缓存项添加SQL依赖项,当数据库
6、记录发生变化时自动删除缓存项。,Cache.Insert(CacheItem2,CacheValue2,new System.Web.Caching.CacheDependency(Server.MapPath(XMLFile.xml);,8.2 应用程序缓存,添加缓存项的SQL依赖项通过使用SqlCacheDependency对象来创建依赖于数据库中的记录。,Cache.Insert(CacheItem2,CacheItem2,newSystem.Web.Caching.SqlCacheDependency(mydb,mytable);,8.2 应用程序缓存,设置缓存过期策略Cache类允许
7、自定义如何缓存项以及将它们缓存多长时间。对于存储在缓存中的易失项,通常设置一种过期策略,只要这些项的数据保持为最新,就将它们保留在缓存中。例:在添加一个绝对过期的缓存项,过期时间为30分钟。可以将缓存项的过期策略设置为可调性过期。代码如下:,Cache.Insert(CacheItem2,CacheItem2,null,DateTime.Now.AddMinutes(30),);,Cache.Insert(CacheItem2,CacheItem2,null,new TimeSpan(0,30,0);,8.2 应用程序缓存,设置缓存优先级在ASP.NET中,当对已过期的缓存项执行清理时,将根据
8、在创建缓存项时指定的优先级来进行清理。在服务器释放系统内存时,级别越低的缓存项越容易被清理。通常在使用Add或Insert方法添加项时指定一个CacheItemPriority枚举值,该枚举具有的成员如表,8.2 应用程序缓存,设置缓存优先级当使用Add或Insert方法创建缓存项时,可以通过传递参数CacheItemPriority指定其优先级:读取缓存由于缓存项在Cache中都是以键/值对形式存储的,可以通过键来检索被缓存的项在读取缓存项时,首先判断该缓存项是否存在,然后再进行访问。,Cache.Insert(CacheItem2,CacheItem2,null,null);,if(Cac
9、heCategories!=null)DataSet dsCategories=(DataSet)CacheCategories;,8.2 应用程序缓存,从缓存中删除项ASP.NET缓存中的数据是易失的,即不能永远保存。当缓存已满、项已过期或依赖项发生更改时,缓存中的数据会自动删除。除了允许从缓存中自动删除项之外,还可以显式删除项。下面,通过调用Cache类的Remove()方法来删除缓存项。,Cache.Remove(Categories);,8.3 页输出缓存,页输出缓存概述输出缓存使用户可以缓存ASP.NET页所发生的部分响应或所有响应。利用输出缓存,能有效提高Web应用程序的性能。对站
10、点中访问最频繁的页进行缓存可以大幅提高Web服务器的吞吐量。使用页输出缓存设置页的可缓存性当Web服务器项请求浏览器发送响应时,服务器会在响应的HTTP头中包含一个CacheControl字段,该字段定义可以缓存该页的设备。根据应用程序的需要,可以分别定义哪些设备应该或不应缓存各个ASP.NET页。通过在页面文件中使用OutputCache指令,以声明的方式设置页的可缓存性,还可以通过编程方式设置页面的可缓存性。,8.3 页输出缓存,OutputCache指令的属性,8.3 页输出缓存,OutputCacheLocation枚举类型例:设置页面可被缓存60秒,且缓存在服务器,8.3 页输出缓存
11、,还可以在Web.config文件中定义缓存配置文件,在配置文件中包括Location、Duration和varyByParam设置并设置页面中包含OutputCache指令,8.3 页输出缓存,缓存一个页面的多个版本ASP.NET允许在输出缓存中缓存同一页的多个版本。输出缓存可能会因下列因素而异。初始请求中的查询字符串,使用VaryByParam属性。回发时传递的控制值,使用VaryByControl属性。随请求传递的HTTP标头,使用VaryByHeader属性。发出请求的浏览器的主版本号,使用VaryByCustom属性。该页中的自定义字符串,使用VaryByCustom属性。在这种情况
12、下,可以在Global.asax文件中创建自定义代码以指定该页的缓存行为。,8.3 页输出缓存,部分页缓存部分页缓存通常通过用户控件来包含缓存的内容,然后将用户控件标记为可缓存来缓存部分页输出。该选项允许缓存页中的特定内容,而每次都重新创建整个页。在标识了要缓存的页的部分,并创建了用以包含这些部分中的用户控件后,还需确定用户控件的缓存策略。在.ascx文件中使用OutputCache指令来设置,8.3 页输出缓存,例8-1:部分缓存示例创建一个用户控件WebUserControl.ascx,放入一个Label控件用于显示当前时间,并设置该用户控件将缓存120秒。WebUserControl.a
13、scx页面代码 WebUserControl.ascx.cs类代码,被缓存的用户控件:,protected void Page_Load(object sender,EventArgs e)Label1.Text=();,任务实施,高速缓存实现影片信息浏览,任务实施,步骤1:创建网站,命名为CacheDemo步骤2新建数据表在SQL Server2005中新建名为“Movies”的数据库,并在其中添加名为“Movies”的表,用于保存电影信息。,CREATE TABLE dbo.Movies(MoviesId int NOT NULL PRIMARY KEY,MoviesTitle nvarc
14、har(50)COLLATE Chinese_PRC_CI_AS NULL,MoviesDirector nvarchar(50)COLLATE Chinese_PRC_CI_AS NULL,MoviesReleased datetime NULL),任务实施,步骤3:编辑Default.aspx页打开Default.aspx页,添加GridView控件用于显示电影标题列表步骤4-6:为GridView控件设置数据源选择数据表和列,选择名称为“Movies”表,并选中“MoviesId”和“MoviesTitle”列。,任务实施,步骤7:编辑GridView控件列步骤8:添加用户控件Movie
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 高速缓存 跟踪 检测 站点 部署

链接地址:https://www.31ppt.com/p-5889583.html