替换EnterPrise Library 4.0 缓存应用程序块的CacheManager

缓存是用来提高应用程序性能的常见技术,其实现方式是将常用数据从慢数据源复制到更快的数据源。对于数据驱动的应用程序来说,该技术通常需要将从数据库或 Web 服务检索到的数据缓存到本地计算机的内存中。

当缓存特定于每个应用程序时最容易实现缓存技术,但是如果多个应用程序需要使用一个公共缓存,那么问题将变得更具挑战性。例如,大型网站通常使用服务器场,其中包含多个提供相同内容的计算机。当每个请求到达时,它会被分配给场中的其中一台计算机。然而,如果信息缓存到场中的一台计算机内存中,其他计算机中的缓存就无法访问它,因此降低了缓存的效率。该问题的一种解决方案是将缓存移到集中式的数据存储(如数据库),或将场中的其中一台服务器指定为缓存服务器,只用来存储缓存的唯一副本。使用集中式缓存存储存在一个问题,那就是它们引入了单点故障,且会成为瓶颈。

要克服单一、集中式缓存存储的局限性,请考虑使用 Alachisoft 开发的 NCache 3.2。NCache 是一个群集缓存框架,能够无缝管理分布在多台计算机上的缓存。管理员首先通过 NCacheManager 工具指定群集拓扑和缓存策略。管理员可以指定多种设置,包括是将缓存存储在内存还是磁盘中、逐出策略和最大缓存大小等;这些设置和拓扑均可在运行时修改。此外,NCacheManager 还提供一系列统计数据,它们不但可用于监控缓存的运行状况,还可作为微调缓存设置以获得最优性能的指标。

在定义缓存群集时,您可以指定是应复制群集内的缓存还是应对其进行分区。复制的缓存群集所拥有的缓存内容与群集中每台机器上的内容均相同。因为没有单点故障,所以复制的缓存可提高可靠性;但是对群集的任何更新都必须复制到所有的群集。因此,对以读取为主的缓存或小群集来说,复制的群集是理想选择。另一方面,分区缓存在群集内的各个计算机之间划分缓存内容,并为更新和大型群集实现了更好的性能。

NCache 还提供了集成到 Microsoft 缓存应用程序块 (CAB) 的提供程序。Alachisoft 公司发布了一个NCache Express版本,这个版本是可以免费使用的,但是有如下限制:

支持两台服务器环境
客户端缓存不论是本地还是来自另外一台服务器
缓存复制拓扑(没有镜像,分区,分区的副本,或者客户端缓存)
最大的缓存尺寸是500M
不支持分布式ASP.NET Session State Cache
不支持分布式ASP.NET Output Cache
只支持32位(没有64位版本)
支持1.1/2.0/3.0/3.5客户端
NCache企业版特性如下:

缓存拓扑

本地缓存。
复制缓存。
分区缓存(自动分区)。
分区缓存(紧密定位)。
Client Cache 客户端缓存。
本地 .NET 客户端 (InProc & OutProc)。
本地 Java 客户端 (OutProc)。
远程 .NET & Java 客户端。
Partitioned Cache with with Replicas 复制分区缓存。
动态聚类
在运行时添加或删除节点。
串变化时进行事件通知。
ASP.NET 会话聚类
基于 .NET 1.1 的 HttpModule (没有改变代码)。
基于 .NET 2.0 的 Session Store Provider (没有改变代码)。
三方整合
NHibernate Level-2 Cache Provider.
Caching Application Block (CAB).
TierDeveloper.
数据到期
绝对的时间到期。
空闲时间到期。
缓存依赖关系
基于关键字的依赖。
基于文件的依赖。
基于多缓存关键字的依赖。
缓存与数据库同步
基于 SQL Server 2005 的 SqlDependency.
基于投票式的 DbDependency, 适用于SQL 2000, Oracle & OLEDB.
Clustered-Wide 事件通知
更新和删除所选择的关键字的事件。
插入,更新和删除任意关键字的事件。
自定义事件通知。
Object Query Language (OQL)
OQL 适用于基于属性的查询。
为查询创建属性的索引。
回收
固定的和可变大小的缓存。
Least Recently Used (LRU).
Least Frequently Used (LFU).
优先级的 FIFO.
存储选项
.NET Heap.
内存映射文件。
主要缓存及溢出缓存。
NCache 管理器
远程图形化 Cluster 配置。
远程 Cluster 监视器。
InProc 缓存实例监视器。
杂项
连读,连写,延迟写。
异步操作(添加,插入,删除)。
紧凑串行化。
大量操作 (添加,插入,删除,获取数据)。
数据组。
多缓存连接。
64 位版本。
安全。

时间: 2024-12-10 02:06:54

替换EnterPrise Library 4.0 缓存应用程序块的CacheManager的相关文章

Enterprise Library 4.0缓存应用程序块

英文原文:http://msdn.microsoft.com/zh-cn/library/cc511588(en-us).aspx Enterprise Library 缓存应用程序块允许开发人员在应用程序中合并一个局部缓存,它支持内存内的缓存,和可选的可以是数据库存储或独立存储的后端存储.应用程序块可以不做修改的使用,它提供所有必须的获取.添加和移除缓存数据的功能.可配置的到期和清除策略也是应用程序块的一部分. 在构建企业范围发布的应用程序时,架构和开发人员都要面对许多挑战,缓存可以帮助他们战

黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(六) Security Application Block   开发人员经常编写需要安全功能的应用程序.这些应用程序通常需要执行一系列不同的安全操作,而且它们还经常与不同的基础安全提供程序(如 Microsoft Active Directory 目录服务.授权管理器.Active Directory 应用程序模式 (ADAM) 和自定义数据库等)进行交互.     安全应用程序块通过收集开发人员必须执行的许

Enterprise Library 3.0体验(2):使用Validation Application Block

一.概述 在Enterprise Library 3.0 December 2006 CTP版中,加入了一个新的成员Validation Application Block,用来实现对业务对象的验证.它支持两种方式的验证,通过特性Attribute和通过配置文件,但是在最新版本中并没有提供配置的设计时支持,我们只能通过手动去修改配置文件来实现,所以本文主要看一下通过Attribute来实现验证. 二.通过ValidationFactory创建验证器 Validation Application

Enterprise Library 3.0体验(1):集成VS2005的配置工具和配置区加密支持

一.集成到VS2005中的配置工具 在Enterprise Library 3.0之前的两个版本,配置工具都是作为一个单独的应用程序,我也曾经介绍过一款把Enterprise Library配置工具集成到VS中的插件(Enterprise Library 2.0 插件介绍:Avanade Integration Pack).这次发布的Enterprise Library 3.0直接把配置工具集成在了VS.NET中,可以非常方便的进行应用程序块的配置.安装后,配置文件默认的打开方式就是Enterp

Enterprise Library 2.0 -- Security Application Block

今天来介绍一下Enterprise Library 2.0中的Security Application Block ,它可以帮助程序开发者在应用程序中实现与授权有关的大部分功能,不仅如此,它还支持缓存我们系统中用户的授权以及,授权数据.主要包括一下几个部分的功能: 1.减少代码编写量: 2.保持应用程序中安全管理的一致性: 3.提供了应用程序中很多安全问题的实现方法: 4.可扩展,支持自定义Provider. ... 关于Security Application Block的介绍部分,我不再多说

Enterprise Library 2.0 -- Exception Handing Applcation Block

Enterprise Library 2.0 中的 Exception Handing Applcation Block 为我们开发人员以及设计人员提供了一个一致的方法去处理我们整个企业级应用程序的每个层次上的异常,表现在以下几个方面: 1.它为应用程序的架构的每个层提供异常处理方法,并不仅仅局限于服务层接口: 2.提供通用的异常处理方法,比如记录异常信息,使用我们自定义的异常信息来替换系统的异常信息等等: 3.我们可以自己定义异常处理的规则,并且可以不通过修改代码来修改异常处理的规则: 4.它

Enterprise Library 2.0 -- Caching Application Block

开始写Enterprise Library 2.0的学习体会,准备先把每个部分的入门部分写好,然后再继续深入的研究每一部分,希望能得到高手的指点和建议.今天写的是Enterprise Library 2.0 中的 Caching Application Block,前面的介绍部分参考了Enterprise Library 2.0 自带的帮助. 一.为什么要使用缓存技术? 当我们构建企业级分布式应用时,设计师和开发者都会面对很多挑战.Caching能够帮助他们克服这其中的一些困难,包括: 1.性能

黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级)

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(二) Cryptography Application Block (高级) 本章介绍的是企业库加密应用程序模块Cryptographyproviders中为对称加密配置Key文件的3种方式: create a new key  : 使用一串字符串作为Key,然后通过加密保存到一个Key文件中. use an existing DPAPI-protected key file  : 使用一个现有的Key文件进

黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级)

原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级) 企业库提供了一个很强大的验证应用程序模块,特点是: 可以通过配置为你的程序中特定的类来定义规则集. 是为你的类的公有属性,即对外开放的属性进行验证的. 使用企业库验证应用程序模块的优势: 有助于保持一致的验证方法. 包括大多数标准验证,包括.NET数据类型校验. 它让您可以将多个规则集具有相同的类和该类的成员. 它可以让你申请一个或多个