- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Net环境下的缓存技术.doc
1 ?? 概念
1.1?? 缓存能解决的问题
· 性能——将相应数据存储起来以避免数据的重复创建、处理和传输,可有效提高性能。比如将不改变的数据缓存起来,例如国家列表等,这样能明显提高web程序的反应速度;
· 可用性——有时,提供数据信息的服务可能会意外停止,如果使用了缓存技术,可以在一定时间内仍正常提供对最终用户的支持,提高了系统的可用性。?? 理解状态
在深入介绍缓存技术之前,需要对状态有一个认识,因为缓存可以说是状态管理的框架。理解状态的含义和它的一些特性——比如生存期和生存范围——对决定是否缓存和选择合适的缓存技术有很大帮助。状态是指一些数据,在应用系统某个时间点上,数据的状态和条件。这些数据可能是永久性的存储在数据库中,可能是只在内存里停留一会,也可能是按照某个逻辑存活(比如多长时间后释放),它的应用范围可能是所有用户可访问,可能是单个用户有权限;
1.2.1? 状态的生存期
生存期是指数据保持有效性的时间区间,也就是从创建到移除的时间间隔。通常的生存期有以下几种:
·永久状态Permanent State——应用程序使用的永久数据;
·进程状态Process State——只在进程周期内有效;
·会话状态Session State——和特定的用户会话有关;
·消息状态Message State——处理某个消息的时间内有效;
1.2.2? 状态的范围
状态的范围指对该状态有访问权限的物理或逻辑范围。
·物理范围指可以被访问到的状态数据存放的物理位置,通常包括:
1、? 组织Organization——在一个组织内的所有应用程序可以访问状态数据;
2、? 场Farm——在应用场范围内的任何机器上都可以访问;
3、? 机器Machine——单个机器范围内可以访问;
4、? 进程Process——进程内的访问许可;
5、? 应用域AppDomain——应用程序域内的访问许可。
·逻辑范围指可访问状态数据的逻辑范围,常见的有:
1、? 应用程序Application;
2、? 业务流程Business Process;
3、? 角色Role;
4、? 用户User;
1.2.3? 状态数据的陈旧
缓存的状态数据只是主数据(Master State Data)的快照,由于数据源可能被修改,所以状态数据就有会陈旧的特性。合理利用此特性和将数据陈旧的负面影响最小化是缓存状态数据的一个重要任务。你可以以一下方式定义数据的陈旧依据:
·主数据更改的可能性——随着时间的推进,主数据更改的可能是否大大增加?安照这一点来决定缓存状态数据的陈旧;
·更改的相关性——主数据更新时,缓存的状态数据不相应更新是不是造成影响系统的使用?比如,更改系统的外观风格并不会对业务造成很大影响。
1.2.4? 状态数据陈旧的容忍度
缓存状态数据的陈旧对业务流程的影响称为容忍度,应用系统的可以为不能容忍(No Tolerance)和一定程度的容忍(some Tolerance),前者必须和主数据同步更新,后者允许一定时间或一定范围的陈旧,判断标准就是对业务流程的影响度。
1.2.5? 理解状态数据的转换过程
状态的另一个属性是在不同阶段的表现形式。在数据库中存储的是原始格式的数据,业务流程中的是处理过的数据,给最终用户呈现的则是另外的形式。如下表所示:
表现形式 描述 举例 原始数据 数据的原始形式 如数据库中的数据 处理过的数据 业务流程中对原始数据加工后的数据 业务过程中的数据形式 呈现形式 可呈现给最终用户的形式 HTML或可理解的文字说明 当决定缓存数据时,应该考虑缓存哪个阶段(哪种形式)的状态数据。以下方针有助于你做决定:
· 当业务逻辑可以容忍缓存数据的陈旧时就缓存原始数据;原始数据可以缓存在数据库访问组件和服务代理中;
·缓存处理过的数据以减少处理时间和资源;处理过的数据可以缓存在业务逻辑组件和服务接口中。
·当需要呈现的数据量很大并且控件的呈现时间很长时,缓存呈现数据(比如包含大数据量的Treeview控件)。这种数据应该被缓存在UI控件中。
1.3?? 为什么要缓存数据
在应用程序中缓存数据有以下好处:
·减少交互的通讯量——缓存数据能有效减少在进程和机器间的传输量;
·降低系统中的处理量——减少处理次数;
·降低需要做的磁盘访问次数——比如缓存在内存中的数据。
1.4?? 数据应该被缓存在哪里
缓存数据只是一份主数据的拷贝,它可能在内存中或以不同的表现形式保存在硬盘上,也就是说,离说句的使用者越近越好。所以,除了考虑要缓存哪些数据以外,数据缓存在哪里也是一个主要的考量点。这个问题分为以下两个范围:
1、? 存储类型Storage Type——数据可用的物理存储位置;
2、? 层间的架构元素(Layered architectur
您可能关注的文档
最近下载
- 中国安全生产简史.docx VIP
- 明阳智能课件.pptx VIP
- ZZ058 动漫制作赛题 第6套-2024年全国职业院校技能大赛双数年拟设赛项赛题.pdf VIP
- 售后服务方案制定流程.docx VIP
- XX科技职业学院实验大楼X座电梯采购项目采购需求(2024年).docx VIP
- 2025年8月广东深圳市福田区选用机关事业单位特聘岗位工作人员40人笔试参考题库附答案解析.docx VIP
- 低温风力发电机保护控制器设计.doc VIP
- ZZ058 动漫制作赛题 第9套-2024年全国职业院校技能大赛双数年拟设赛项赛题.pdf VIP
- 方正证券-电新行业新技术~固态系列1-破土凌云一一固态繁荣前夕,设备产业化加速推进.pdf
- 2024年中考语文第一轮考点复习(全国通用) 专题24:议论文阅读之议论文语言【习题精练】 (原卷版+解析).docx VIP
文档评论(0)