博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
appfabric缓存的实现与设置主要主机
阅读量:5037 次
发布时间:2019-06-12

本文共 2502 字,大约阅读时间需要 8 分钟。

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,在里面指定主要主机

 

 

今天先介绍这些吧,有什么不明白的可以发邮件通知我:

转载于:https://www.cnblogs.com/qiyin/p/3688662.html

你可能感兴趣的文章
smartupload 上传与下载(转载)
查看>>
Module
查看>>
Android TextView : “Do not concatenate text displayed with setText”
查看>>
SpringCloud Feign异常处理
查看>>
python接口自动化测试三十五:用BeautifulReport生成报告
查看>>
Microsoft Visual Studio is waiting for an internal operation to complete 解决方法
查看>>
Spark Streaming笔记整理(二):案例、SSC、数据源与自定义Receiver
查看>>
组播业务开通
查看>>
Java开发技术大揭底——让你认知自己技术上的缺陷,成为架构师
查看>>
MySQL:如何维护binlog?
查看>>
Android Studio 的常用设置
查看>>
Pythonic八荣八耻
查看>>
p2.BTC-数据结构
查看>>
封装自己的getClass
查看>>
python字符串的常用方法
查看>>
.net4.0、.net4.5、.net4.6 三者对系统的要求
查看>>
分布式下的session处理方式
查看>>
LeetCode(30) Substring with Concatenation of All Words
查看>>
哈夫曼编码问题再续(下篇)——优先队列求解
查看>>
炜煌E30 E31微型热敏打印机 STM32 串口驱动
查看>>