在Caching Application Block中,定义了两种缓存类型,它们分别是内存驻留型缓存和磁盘驻留型缓存。顾名思义,这两种类型的缓存是以存贮位置来命名的,功能上则以是否能将缓存数据持久化来区别使用。
在Caching Application Block中,具体提供以下四种保存缓存数据的途径,分别是:内存存储(默认)、独立存储(Isolated Storage)、数据库存储(DataBase Cache Storage)和自定义存储(Custom Cache Storage)。
1、内存存储:内存存储缓存是以上四种方式中唯一的内存驻留型缓存,也是我们开发中最常用到的一种途径,其响应速度快的优势是其它方式无法匹敌的,但单一得采用这种方式的话会有如下弊端:
1)缓存数据不能持久化,服务器重起后缓存数据会全部丢失。
2)服务器采用负载均衡时采用内存缓存的话,一定要保证多台服务器间的内存缓存状态同步,但这样做会对IO造成较大压力,容易造成系统瓶颈,故,从系统性能和开发成本的角度讲,负载均衡的环境下不易单一的采用内存缓存。
2、独立缓存(Isolated Storage):Isolated Storage是缓存数据持久化的一种选择方式,它是磁盘驻留型缓存,如果您足够细心的话会在每一台机器上找到一个IsolatedStorage文件 夹;采用独立缓存的话,我们的缓存信息就会以二进制文件的形式就保存在这个文件夹中,如下是我所用的机器(Vista OS)上生成Cache数据后的缓存信息所在的具体目录:C:\Users\Jon\AppData\Local\IsolatedStorage\ ;
Caching Application Block没有为我们提供向指定机器读、写独立缓存的功能,因此,这种方式只适合需要缓存持久化和大数据量缓存的场合,并不适用于负载均衡的环境。
3、数据库存储(DataBase Cache Storage):如若想采用数据库存储缓存信息,首先第一步要建立缓存数据库Caching,在安装Enterprise Library后并未默认安装此数据库,若想安装,我们首先找到Enterprise Library的安装文件夹,会发现一个建立数据库的CreateCachingDb.cmd文件,执行该文件后您就会在您的SQL-Server上新建 一个名为Caching的数据库,该文件在4.1版中详细地址为:安装盘符:\安装目录\EnterpriseLibary\Blocks \Caching\Src\Database\Scripts\CreateCachingDb.cmd文件,在Caching数据库中只有一个 CacheData表,这个表就保存了我们所读写得缓存信息。
4、自定义存储(Custom Cache Storage):关于自定义存储并未深入研究,在此暂不详细讨论.