Appfabric缓存的实现
在做之前请先开启appfabric缓存服务:start-cachecluster【注意一定要用管理员的身份运行Windows PowerShell】
分两种方法实现【1.通过代码2.通过配置】,先讲一下通过代码实现的方法。
在这里我们写一个类【CacheUtil】里面有一个方法【GetCache】,它的主要目的是返回数据缓存的缓存集,缓存集里面会有一些重要信息,当然了,这些重要信息我们也是可以config文件配置的。
在类里先定义好我们想要的:
privatestaticDataCacheFactory_factory=null;
privatestaticDataCache_cache=null;
首先定义缓存主机阵列
List<DataCacheServerEndpoint> servers = new List<DataCacheServerEndpoint>(1);
指定缓存主机情况
servers.Add(new DataCacheServerEndpoint("localhost", 22232));//在config文件中的第一个参数是计算机名字,也就是start-cachecluster中的计算机名字,第二个参数是缓存的端口号,在配置appfabric时分配的。
接下来创建缓存配置
DataCacheFactoryConfiguration configuration = new DataCacheFactoryConfiguration();
设置缓存的主机(s)
configuration.Servers = servers;【不只一台呦】
设置本地缓存的默认设置,默认(本地缓存禁用)
configuration.LocalCacheProperties = new DataCacheLocalCacheProperties();
禁用跟踪避免信息/冗余信息的网页上
DataCacheClientLogManager.ChangeLogLevel(System.Diagnostics.TraceLevel.Off);
通过配置设置的cachefactory构造函数
_factory = new DataCacheFactory(configuration);
获得参考命名缓存被称为“default”
_cache = _factory.GetCache("default");
这些就是我们实现appfabric缓存的重要代码
第二种方法:
这里需要重点说的是,在CacheUtil类中,在getcache()方法中_factory=newDataCacheFactory();DataCacheFactory()里面不要传任何参数,这就代表着,程序是走config配置文件,配置缓存的。
我们可以再config配置多个数据缓存客户端的,这样我们就可以区分哪些缓存客户端是开启本地缓存的,哪些不是等等不同的服务操作
在上面的示例中,在配置文件中定义了两个缓存客户端:default 和 compressedCache。若要访问默认缓存,您无需指定缓存客户端名称。例如:
DataCacheFactory factory = new DataCacheFactory();
若要指定名为 dataCacheClient 的任何其他部分,必须使用 DataCacheFactoryConfiguration 构造函数指定缓存客户端部分名称。
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
在这里是不是想起了,代码实现的配置了【关于DataCacheFactoryConfiguration】,总而言之,可以通过config文件和代码配置缓存客户端,只不过代码配置的都是默认的,一般是为了快速测试appfabric服务这样做的。
设置群集管理角色和主要主机指定
注意:如果您的缓存群集不使用 SQL Server 来存储群集配置设置,则主要主机必须始终执行群集管理角色。
此过程假设您具有一个正在运行的缓存群集,且您正在使用 SQL Server 数据库存储群集配置设置。默认情况下,在安装第一个缓存服务器时,SQL Server 已在执行群集管理角色。仅在希望更改此设置时才需要按照此过程操作。
要更改此群集管理角色,您需要将群集配置设置导出到一个 XML 文件中,并编辑对应的 XML 属性值。此设置需使用 partitionStoreConnectionSettings 元素的 leadHostManagement 属性来指定。partitionStoreConnectionSettings 元素是 advancedProperties 元素的子元素,后者是 dataCache 元素的子元素。同时,您可能还希望更改指定为主要主机(由 leadHost 属性定义)的缓存主机。有关设置的详细信息,请参阅。
如下图:
当我们输入:Export-clusterconfig [导出的文件路径]c:\config
在C盘根目录下打开config文件
当我们修改后一定要停止群集服务,Stop-CacheCluster ,然后导入,Import-CacheClusterConfig新的config文件,当我们停止群集服务时,将清空缓存群集里的所有数据。最后重启服务,如果操作重启服务的话,缓存群集里的数据也会被清空。
接下来打开app.config或是web.config,在里面指定主要主机
今天先介绍这些吧,有什么不明白的可以发邮件通知我: