|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。asp.net|缓存ASP.NET2.0供应了一些新的用于提拔程序功能的手艺特征,个中,缓存手艺长短常主要的一个特征,它供应了一种十分好的当地数据缓存机制,能够十分简单的定制属于数据缓从,从而无效的进步数据会见的功能。
缓存有一个不太简单克制的弱点,那就是数据过时的成绩。最典范的情形是,假如将数据库表中的数据内容缓存到服务器内存中,当数据库表中的纪录产生变动时,Web使用程序则极可能显现过时的、禁绝确的数据。关于某些范例的数据,即便显现的信息过时,影响也不会很年夜。但是,关于及时性请求对照严厉的数据,比方,股票代价、拍卖出价之类信息,显现的数据稍有过时都是不成承受的。
ASP.NET2.0撑持以下几种缓存
页面输入缓存
页面输入缓存是最为复杂的缓存机制,该机制将全部ASP.NET页面内容保留在服务器内存中。当用户哀求该页面时,体系从内存中输入相干数据,直到缓存数据过时。在这个过程当中,缓存内容间接发送给用户,而不用再次经由页面处置性命周期。一般情形下,页面输入缓存关于那些包括不必要常常修正内容的,但必要大批处置才干编译完成的页面出格有效。必要读者注重的是,页面输入缓存是将页面全体内容都保留在内存中,并用于完成客户端哀求。
页脸部分缓存
页脸部分缓存是指输入缓存页面的某些部分,而不是缓存全部页面内容。完成页脸部分缓存有两种机制:一种是将页面中必要缓存的部分置于用户控件(.ascx文件)中,而且为用户控件设置缓存功效(包括用户控件的页面可设置也可不设置缓存)。这就是一般所说的“控件缓存”。设置控件缓存的本色是对用户控件举行缓存设置。次要包含以下3种办法:一是利用@OutputCache指令以声明体例为用户控件设置缓存功效,二是在代码埋没文件中利用PartialCachingAttribute类设置用户控件缓存;三是利用ControlCachePolicy类以编程体例指定用户控件缓存设置。别的,另有一种称为“缓存后交换”的办法。该办法与控件缓存恰好相反,将页面中的某一部分设置为不缓存,因而,只管缓存了全部页面,可是当再次哀求该页时,将从头处置那些没有设置为缓存的内容。
使用程序数据缓存
使用程序数据缓存供应了一种编程体例,可经由过程键/值对将恣意数据存储在内存中。利用使用程序缓存与利用使用程序形态相似。可是,与使用程序形态分歧的是,使用程序数据缓存中的数据是易掉的,即数据并非在全部使用程序性命周期中都存储在内存中。使用程序数据缓存的长处是由ASP.NET办理缓存,它会在项过时、有效,或内存不敷时移除缓存中的项,还能够设置使用程序缓存,以便在移除项时关照使用程序。
缓存依附
Net2.0引进的自界说缓存依附项,出格是基于MS-SQLServer的SqlCacheDependency特征,使得我们能够制止“数据过时”的成绩,它可以依据数据库中响应数据的变更,关照缓存,并移除那些过时的数据缓存功效也有其本身的不敷。比方,显现的内容大概不是最新、最正确的,为此,必需设置符合的缓存战略。又如,缓存增添了体系的庞大性并使其难于测试和调试,因而倡议在没有缓存的情形下开辟和测试使用程序,然后在功能优化阶段启用缓存选项。
前天傍晚我发表了《Java的跨平台就是一句谎言。》,原本就是周末闲来无事,发表一篇略带争议性的博文让大家都来吵吵架,发表自己的看法,根本就没想着谁把谁打倒,一个行业或者是技术阵营是无法用短期口水仗打到对手的。 |
|