• Facebook
  • Twitter(现为X)
  • Youtube
  • 内衬
  • RSS
  • 文档
  • 比较
  • 博客
  • 下载
  • 联系我们
下载
显示/隐藏目录

缓存管理对缓存的操作

此 NCache Management API 是一组可编程方法调用,使用户能够在 OutProc 缓存上执行基本管理操作,而无需使用 NCache 管理中心或命令行工具。该管理 API 在执行请求时通常是自给自足的。

硬件需求

  • 。NET
  • 爪哇岛
  • 遗留 API
  • 安装 Alachisoft.NCache.SDK NuGet 包。
  • 在您的应用程序中包含以下命名空间:
    • Alachisoft.NCache。客户
    • Alachisoft.NCache.Runtime.Exceptions
  • 有关 API 详细信息,请参阅: 缓存管理器, 缓存连接选项, CacheClientConnectivityChangedCallback, 客户信息, 已连接客户端列表, 获取缓存, 缓存, 通知服务, 缓存客户端连接已更改.
  • 将以下 Maven 依赖项添加到您的目录中 pom.xml 文件:

    <dependency>
          <groupId>com.alachisoft.ncache</groupId>
          <artifactId>ncache-client</artifactId>
          <version>x.x.x</version>
    </dependency>
    
  • 在您的应用程序中导入以下包:
    • 进口 com.alachisoft.ncache.客户端。*;
    • 进口 com.alachisoft.ncache.runtime.exceptions.*;
    • 进口 com.alachisoft.ncache.runtime.cachemanagement.*;
  • 有关 API 详细信息,请参阅: 缓存连接, 缓存管理器, 缓存连接选项, onClientConnectivity更改, 客户信息, 获取连接客户端列表, 获取缓存, 缓存, 通知服务.
  • 创建一个新的控制台应用程序。
  • 在您的 .NET 客户端应用程序中安装以下 NuGet 包:
    • 企业版: Install-Package Alachisoft.NCache.SDK -Version 4.9.1.0
  • 确保要添加的数据是 可序列化.
  • 添加 NCache 案例 通过定位 %NCHOME%\NCache\bin\assembly\4.0 并添加 Alachisoft.NCache.Web 和 Alachisoft.NCache.Runtime 作为适当的。
  • 包括 Alachisoft.NCache.Web.Management和 Alachisoft.NCache.Runtime.CacheManagement 应用程序中的命名空间。
  • 要使用 API,请在您的应用程序中包含以下内容:
    • Alachisoft.NCache.Web.dll
    • Alachisoft.NCache.Runtime.dll
  • 要了解更多关于 NCache 旧版 API,请下载 NCache 4.9 可作为 邮编 文件在 Alachisoft 官方网站.

监控连接到缓存的客户端

NCache 允许您启用客户端活动事件,以便在集群缓存中其他客户端的连接和断开连接时通知客户端。每个客户端还可以定义一个自定义的进程级标识符,该标识符会在客户端连接或断开与缓存的连接时共享给订阅者。客户端活动事件会在客户端连接或断开与指定缓存的连接时触发。这些事件会针对特定缓存进行注册,并通过用户定义的回调方法进行处理。

注意:

确保客户端事件已经 通过以下方式实现 NCache 管理中心 在继续使用它们之前。

连接到缓存

此 AppName 是进程级唯一标识符,可以在缓存连接时分配。 为此,在连接到缓存之前,创建一个实例 CacheConnectionOptions 并为其分配一个自定义标识符字符串 AppName 属性。因此,如果此客户端连接或断开连接,则订阅该客户端的所有客户端的回调都将获得此 AppName 在他们的 ClientInfo 实例。

  • 。NET
  • 爪哇岛
  • 遗留 API
// Create an instance of CacheConnectionOptions
var options = new CacheConnectionOptions();

// Assign the custom identifier
options.AppName = "MyApp";

// Connect to cache with custom AppName property
ICache cache = CacheManager.GetCache(cacheName, options);
// Create an instance of CacheConnectionOptions
CacheConnectionOptions options = new CacheConnectionOptions();

// Assign the custom identifier
options.setAppName("MyApp");

// Connect to cache with custom appName property
Cache cache = CacheManager.getCache(cacheName, options);
// Using NCache Enterprise 4.9.1

// Create an instance of CacheInitParams
CacheInitParams initParams = new CacheInitParams();

// Assign custom identifier
initParams.AppName = "MyApp";

// Connect to cache with custom appName property
Cache cache = NCache.InitializeCache(cacheName, initParams);

创建事件回调方法

回调方法是用户定义的,并且在客户端与缓存连接/断开连接时调用。 该方法是针对 CacheClientConnectivityChanged 的事件属性 CacheClientConnectivityChangedCallback 输入特定的缓存。 因此,创建的方法应该与委托的签名相匹配:

  • 。NET
  • 爪哇岛
  • 遗留 API
public delegate void CacheClientConnectivityChangedCallback(string cacheId, ClientInfo client);

创建的方法包含以下参数:

// User defined event callback method
static void MyClientConnectivityCallback(string cacheName, ClientInfo clientInfo)
{
    // Handle event
}
public interface cacheClientConnectivityChangedCallback {
String cacheName = "demoCache";

    void invoke(String cacheName, ClientInfo clientInfo);

    // User defined event callback method
    static void myClientConnectivityStatus(String cacheName, ClientInfo clientInfo)
    {
        // Handle event
    }
}
// Using NCache Enterprise 4.9.1
public delegate void CacheClientConnectivityChangedCallback(string cacheId, ClientInfo client, ConnectivityStatus status);

创建的方法包含以下参数:

// user defined event callback method
static void MyClientConnectivityCallback(string cacheName, ClientInfo clientInfo, ConnectivityStatus status)
{
    // Handle Event
}


参数 描述
cacheName 与客户端连接或断开连接的缓存的名称。 这充当事件的发送者。
clientInfo ClientInfo 类的一个对象,其中包含有关导致事件触发的客户端的信息。

客户信息类

会员 描述
AppName 用户分配的、进程级别的唯一标识符。
ClientID 客户端的唯一 ID。
IPAddress 客户端连接的IP。
MacAddress 客户端的MAC地址。
PhysicalCores 客户端的可用物理内核。
LogicalCores 客户端的可用逻辑核心。
ProcessID 客户端的进程 ID。
MachineName 客户端的机器名称。
Status 缓存客户端的连接状态。
ClientVersion 缓存客户端的版本。
IsDotNetCore 用于检查客户端是否为 .NET Core 的标志。
Memory 客户端的可用内存。
Operating System 客户端使用的操作系统。

注册事件

该方法是通过将其附加到 CacheClientConnectivityChanged 属性作为事件回调。 这使客户端能够侦听其他客户端的连接/断开连接事件。 如果另一个客户端连接到指定的缓存或从指定的缓存断开连接,则调用回调方法。

  • 。NET
  • 爪哇岛
  • 遗留 API
cache.MessagingService.CacheClientConnectivityChanged += MyClientConnectivityCallback;
cache.getNotificationService().addCacheConnectivityChangedListener(new CacheClientConnectivityChangedImpl(callback));
// Using NCache Enterprise 4.9.1
cache.CacheClientConnectivityChanged += MyClientConnectivityCallback;

监控已连接客户端的客户端信息

此 ClientInfo 每个连接的客户端都可以在本地以以下形式获得 cache.ClientInfo 属性。

查看已连接客户端列表

要按需获取连接到缓存的所有客户端的信息,请使用 ConnectedClientList 缓存上的属性为:

  • 。NET
  • 爪哇岛
  • 遗留 API
// Connect to cache with custom AppName property
ICache cache = CacheManager.GetCache(cacheName, options);

// Get list of all connected clients
IList<ClientInfo> connectedClients = cache.ConnectedClientList;

foreach(ClientInfo clientInfo in connectedClients)
{
    Console.WriteLine($"Client ID : {clientInfo.ClientID}");
}
// Connect to the cache
Cache cache = CacheManager.getCache(cacheName);

// Get list of all connected clients
List<ClientInfo> connectedClients = cache.getConnectedClientList();

for (var clientInfo : connectedClients)
{
    System.out.println("Client ID: " + clientInfo.getClientID());
}
// Using NCache Enterprise 4.9.1

// Connect to cache
string cacheName = "myPartitionedCache";
Cache cache = NCache.InitializeCache(cacheName);

// Get list of all connected clients
IList<ClientInfo> connectedClients = cache.GetConnectedClientList();

foreach (ClientInfo clientInfo in connectedClients)
{
    Console.WriteLine("Client ID : " + clientInfo.ClientID);
}

参见

启动缓存
停止缓存

联系我们

联系电话

+1 214-619-2601   (美国)

+44 20 7993 8327   (英国)

 
邮箱地址

sales@alachisoft.com

support@alachisoft.com

NCache
  • 版本比较
  • NCache 卓越
  • 基准
下载
定价
尝试游乐场

部署
  • 云(SaaS 和软件)
  • 内部部署
  • Kubernetes
  • Docker
技术用例
  • ASP.NET 会话
  • ASP.NET Core 会话
  • 发布/订阅消息
  • 实时 ASP.NET SignalR
  • 物联网(IOT)
  • NoSQL 数据库
  • 流处理
  • 微服务
相关资源
  • 杂志文章
  • 第三方文章
  • 专题文章
  • 视频
  • 白皮书
  • 作品
  • 会谈
  • 博客
  • 文档
客户案例研究
  • 评价
  • 客户
支持
  • 安排演示
  • 论坛(谷歌组)
  • 小技巧
关于我们
  • 领导团队
  • 合作伙伴
  • 新闻
  • 活动
  • 加入我们
联系我们

  • 英语简体中文法语版德语版意大利语版日语版韩语版葡萄牙语西班牙语

  • 联系我们
  •  
  • 网站地图
  •  
  • 使用条款
  •  
  • 隐私政策
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。
Back to top