entlib2.0研究(三)缓存组件的介绍
缓存组件
1介绍
缓存组件可以使开发者将本地的缓存机制加到应用程序中。它支持内存中缓存和可选的后端的存储(数据库方式和隔离存储方式)。缓存组件提供retrieve, add, and remove cached data等功能。过期和自我清除策略也是给组件的一部分。
缓存可以克服一些风险:
l 性能。采用一种更为密切的方式,为数据的消费者存储相关的数据;以避免重复性的数据创建、处理和传输。
l 可度量性。在缓存中存储信息可以节省资源,并随着应用程序的需求量增加,而增加可度量性
l 可用性。使用缓存,您的应用能够在网络的的延时、WEB服务和硬件的问题中减小损失。
常用场景
缓存组件适用于一下情况:
l 你必须重复的访问静态的或是很少变动的数据
l 数据访问在创建、访问和传输上花费很大
l 即使数据源是不可用的,数据也必须是可用的
你可以在下面的应用程序类型中使用缓存组件:
l Windows Forms
l Console application
l Windows service
l COM+ server
l ASP.NET Web application or Web service if you need features not included in the ASP.NET cache
你必须为每一个应用程序块部署一个缓存组件。每一个应用程序块可以由一个或多个缓存,可以有或没有后端存储。不支持,也不应该支持多个由多个Cache manager共享存储或分区
缓存组件在性能和线程、异常安全方面作了优化。你可以扩展你自己的过期策略和后端存储。
缓存组件的特性
l 使用配制工具配制
l 你可以配制持久存储位置,使用隔离存储器或数据访问组件,他们的状态与内存中的缓存保持同步。
你可以扩展你自己的过期策略和后端存储。
l 确保线程安全。
系统依赖
l Microsoft.Practices.EnterpriseLibrary.Common.dll
l Microsoft.Practices.ObjectBuilder.dl
l 数据访问组件
推荐的修改配置的方式是使用配制管理工具。
1.1场景和目标
涵盖的场景有:
l 选择和配置缓存存储器
l 加一项到缓存中,设置它的过期数据
l 移出一项
l 取出一项
l 刷新缓存
决定何时使用缓存组件
l 需要在不同的应用中有一致的缓存形式。例如,开发者可以写出相似的代码来实现缓存。在所有环境中的相同配置项。
l 当需要可配的持久的后端存储。创建附加的后端存储,使用配置项来添加到缓存组件中。在持久化到后端存储前,用对称加密算法进行加密。
l 不改变代码的情况下,改变缓存配置项。
l 需要下面的过期策略:绝对时间、变化的时间、扩展时间格式、文件依赖或永不过期。
安全性
虽然你可以对后端的数据进行加密,但日志组件不提供对内存中的数据加密。所以如果安全性会威胁到你的程序,请不要将账户和密码等敏感信息放到缓存中。