.NET 版本入门

今天,我要谈谈 .NET 版本的入门 NCache。 上面有一个单独的视频 Java 版入门 NCache 如果您有兴趣,请务必观看。 那么,让我们开始吧。 入门有五个步骤 NCache.

  1. 软件设置: 这是你安装的地方 NCache 服务器和客户端。
  2. 创建 NCache 簇: NCache 创建一个基于 TCP 的集群 NCache 服务器。
  3. 配置 NCache 客户:这些是您配置为与之通信的应用程序服务器或 Web 服务器 NCache.
  4. 测试 NCache 簇:为了确保一切正常,集群正在运行,并且您的客户端能够与集群通信。
  5. 使用 NCache 在您的应用程序中

由于这是一个 .NET 版本视频,我将讨论 .NET 应用程序。 请注意,您可以使用以下命令开发 Java、Node.js 和 Python 应用程序 NCache 以及。

 

1. 软件设置

好的,第一步是软件设置。 请注意 NCache 有一个服务器组件和一个客户端组件。 NCache 为您提供不同的部署选项。

部署选项

NCache 服务器

  1. 内部部署
    • 下载 NCache 软件
    • Docker“拉”(NCache 软件)
  2. 云端技术
    • NCache Cloud (软件即服务)(蔚蓝/AWS)
    • NCache 软件(自带许可)
    • (Azure / AWS / 谷歌 / 所有云)
  3. 码头工人/Kubernetes
    • (本地、云)
    • Azure AKS、AWS EKS、Google GKE、红帽 OpenShift

NCache 客户

  1. 。NET
    • NuGet、.NET 4.0+
  2. 爪哇岛
    • Maven、Java 11+
  3. Node.js的
    • NPM
  4. 蟒蛇
    • 皮皮

内部部署

因此,如果您打算部署 NCache 在本地情况下,在您自己的数据中心,您可以访问我们的网站下载 NCache 软件。 只需访问我们的网站并访问 下载页面。 继续,下载 .NET 版本。 NCache Enterprise 适用于 Windows、适用于 Windows 的 .NET 6 或适用于 Linux 的 .NET 6。 Windows 是一个 微星 Windows 安装程序。 而且,对于 Linux 来说,它是 名为.tar.gz。 或者,如果您有旧版 .NET 4.8 环境,您也可以下载 .NET 4.8 Windows 安装程序 NCache.

并且,然后您还可以获得 NCache 客户从这里来。 为了 NCache 客户端部分,如果您转到此页面的 NuGet 选项卡,它会为您提供更多详细信息。 基本的就有了 Alachisoft.NCache.SDK 每个人都需要得到,然后还有很多其他 NuGet软件包 这 NCache 为您提供。 如果你去 nuget.org 和类型 NCache 您还将获得所有这些的列表。 所以,下载 NCache 软件是第一个,或者如果你更喜欢 Docker 那么你也可以做一个 码头工人拉。 所以,如果你去 码头工人/Kubernetes 选项卡你会看到你可以做 码头工人拉 alachisoft/ncache:最新的 这将为您提供 .NET 版本 NCache 在 Windows 或 Linux 上,具体取决于您发出此呼叫所使用的操作系统。

云端技术

所以,第二点是如果你想使用 NCache 在云端有两种方法可以做到这一点,一种是 NCache Cloud SaaS 产品可在 Azure 和 AWS marketplaces。 我来给你展示。 所以,如果我要去 Azure Marketplace 你会看到 NCache Enterprise Cloud 这是可用的。 在同样的路线上,在同样的基础上,如果你去 AWS Marketplace 你会看到 NCache Enterprise Cloud 那里也提供 SaaS。 因此,您实际上可以选择购买这些产品,当您购买这些产品时,您需要向 Azure 或 AWS 支付费用,而不是 Alachisoft。 但是,即使您想使用 SaaS 选项,我建议您首先下载 NCache 软件并通过它在本地环境或云中进行评估或概念验证,然后决定是使用 SaaS 还是购买 NCache 我们的软件。 您可以从我们这里购买软件,并且仍然以 BYOL 方式部署在云中。 而且,如果您这样做,那么它就可以在所有云上使用,包括 Azure、AWS 和 Google。 但是,如果您使用 SaaS,那么截至目前它仅在 Azure 和 AWS 中可用。 而且,也许将来我们还会有其他云市场。

码头工人/Kubernetes

我已经向您展示了 Docker 选项。 NCache 还支持 Kubernetes。 所以,您可以部署 NCache 在 Azure AKS、AWS EKS、Google GKE 或 Red Hat OpenShift Kubernetes 环境中,无论您拥有什么环境。

NCache 客户

我已经向你展示了 NuGet 包 对于 .NET 客户端。 对于 Java 同样的方式,你有 Maven的, 对于 Node.js NPM,对于 Python 你有 皮皮 您可以使用。

系统要求

您需要了解的下一件事是系统要求 NCache 服务器和客户端。 这 NCache 服务器,我们提供六种不同的服务器配置文件供您选择。 有 SO-4、SO-8、SO-16、SO-32、SO-64 和 SO-128。 这些表示 RAM,但它们也有相应的 vCPU。 因此,举例来说,我建议在生产中不要使用比 SO-16 更小或更弱的东西,SO-16 是 8 Gig RAM 和 16 个 vCPU CPU。 但是,在非产品、质量检查和测试中,如果您愿意的话,您甚至可以使用较小的环境或较小的盒子。 显然,如果您的事务负载较高,那么您应该选择比 SO-XNUMX 更高的值。 因此,所有这些选项都可用。 如果您访问我们的网站并访问 定价页面 您会看到这里讨论了所有这些选项 NCache Enterprise 和专业。

NCache 服务器

  1. 硬件
    • SO-4(4GB,2 个 vCPU)
    • SO-8(8GB,4 个 vCPU)
    • SO-16(16GB,8 个 vCPU)
    • SO-32(32GB,12 个 vCPU)
    • SO-64(64GB,16 个 vCPU)
    • SO-128(128+GB,32+ vCPU)
  2. Windows
    • Windows Server 2022、2019、2016
    • .NET 6
  3. Linux
    • Ubuntu、Debian、RHEL
    • .NET 6

NCache 客户

  1. 硬件
    • CPU(8-40 核)、RAM(16-128 GB)
    • 网卡(1-10 Gbit)
  2. Windows
    • Windows Server 2022、2019、2016
    • .NET 6 或 .NET 4.0+
    • 可选的: Java 11 +
  3. Linux
    • Ubuntu、Debian、RHEL
    • .NET 6+
    • 可选的: Java 11 +

硬件的下一个目标是操作系统。 因此,对于 .NET 开发人员来说,Windows 是首选平台,但您可以选择部署 NCache 在 Windows 或 Linux 上。 在 Windows 上,我们正式支持所有最新版本的 Windows 服务器。 例如,从今天开始您可以部署 NCache 在 Windows Server 2022、2019 和 2016 上。在 Linux 上,您可以部署 NCache 在 Ubuntu、Debian 和 Red Hat Enterprise Linux 上。 请注意,在这两个平台上,您需要安装 .NET 6,因为它是 .NET 版本,因此需要能够运行服务器端 .NET 代码,特别是如果您确实喜欢通读的话,直写和其他服务器端代码。

客户端硬件与服务器端硬件非常相似,因为 NCache 客户端实际上是应用程序服务器和Web服务器。 所以,这些也是服务器平台。 因此,使用类似类型的配置文件硬件,并且您可以选择使用 Windows 或 Linux,正如我所说,我们的经验是 .NET 开发人员更喜欢使用 Windows 作为他们的主要操作系统。 如果您也有相同的偏好,请备注 NCache 以官方身份完全支持 Windows,与 Windows 2022、19 或 16 相同。然后,​​根据您的应用程序使用的内容,支持 .NET 6 或 .NET 4.0+。 然后,如果您有 Java,那么显然是 Java 11+。

Linux 上也是如此。 您可以在 Linux 上部署可以与 NCache 在 Ubuntu、Debian 或 Red Hat Enterprise Linux 上。 但在这里,如果您有一个在 Linux 上部署的 .NET 应用程序,那么您显然必须拥有 .NET 6 或更高版本,但如果您有一个 Java 应用程序,那么您可以拥有 Java 11 或更高版本。

关键任务应用程序的分布式缓存

NCache 有两种不同的使用方式。 它要么是任务关键型应用程序中的分布式缓存,要么是消息传递和流平台。 有关于此的更多详细信息,请参见 NCache 建筑 视频请务必观看。

关键任务应用程序的分布式缓存

但是,无论哪种情况 NCache 部署为两个或更多服务器的集群。 您知道,在分布式缓存中,我们建议应用程序服务器和缓存服务器之间的比例为 5:1。 您也可以选择稍高的比率,但我们建议您保持更接近它以获得最佳性能,因为您使用的全部原因 NCache 是为了提高您的性能和可扩展性。

 

2。 创建 NCache 簇

现在,让我们继续创建一个 NCache 簇。 我会来到这个盒子,实际上,在我这样做之前,我会……所以,我有三台服务器,它们可供我使用。 它们都是 Windows 服务器盒和两个客户端。 一个客户端是 Windows 服务器盒,另一个客户端是 Linux 盒。 因此,我将首先向您展示两个服务器集群,然后我将在运行时添加第三个服务器。 所以,我会去 NCache 并去 管理中心。 这是一个非常强大的工具 NCache。 目前,它正在查看本地盒子。 我目前在这个盒子里,但我需要实际继续管理这个盒子。 我要将 IP 地址从 localhost 更改为此地址,然后按 Enter 键。 现在我正在与该服务器交谈。 因此,我将继续创建一个分布式缓存。 我将我的缓存称为“democache”。 我将使用 JSON 作为序列化而不是二进制。

创建 NCache 簇

您还可以 read more 关于它在我们的文档中。 JSON 显然更注重平台和语言中立性和可移植性。

我将使用分区副本缓存作为拓扑和异步复制。

分区副本缓存

同样,所有这些都在 中进行了详细解释 NCache 建筑 视频,所以,请务必观看。 我将选择 16 G 作为我的缓存大小。 你的显然会比这个多得多。 正如我所说,我们的普通客户在生产中拥有 109 Gig 的配置文件。 因此,我将添加我的第一个服务器是 110。然后我的下一个服务器是 XNUMX。所以,我将在此时指定它们。 添加节点。

设置缓存分区和大小

因此,我将从一个两节点缓存集群开始。 我会将其他一切保留为默认值。 我不会“启用压缩”,但我确实想让您知道这是一个非常强大的功能。

加密和压缩设置

因此,如果您的对象大小大于某个阈值,它将开始压缩它们,从而提高应用程序的整体吞吐量和可扩展性。

我将继续启用驱逐,选择最近最少使用的算法或策略,并驱逐 5% 的缓存。 当缓存已满时,此驱逐就会开始。 因此,我指定了 5 Gig 作为分区大小。 因此,如果该分区已满,它将驱逐 XNUMX%。 我也可以关闭此功能,在这种情况下,它不会执行任何驱逐,但如果缓存已满,它将开始拒绝任何新数据。 因此,在大多数情况下,您希望保留它。

启用驱逐

所以,我将保持 15 秒的清洁间隔,这是 NCache 自己进行清理、记账,还有很多其他重要的工作,比如探索,这些事情都是在这段时间完成的。 我要说“完成后启动此缓存”。 我您可能还应该打开“在服务启动时自动启动此缓存”,但我不会这样做。

 

3. 配置客户端

现在,我已经创建了缓存,接下来我要做的是配置客户端。 它仍在创建它,尽管如此,我此时将仅添加一个客户端,然后我将在运行时添加第二个客户端,同时应用程序正在运行并且缓存也正在运行,好吧。 所以,我已经启动了这个缓存。 我会说“监视”缓存,我也会做“统计”,这是两个不同的视图。 让我继续并确保我的……让我将其最小化,以便您可以看到……对此感到抱歉。 所以,我要来到这里,现在您可以看到这是一个完整的仪表板。

NCache 管理中心
 

4.测试 NCache 簇

您再次可以看到没有客户端在运行。 因此,我将快速测试以确保该集群正常工作。 我将进行“压力测试”测试。 所以,在109服务器本身上,运行一个压力测试工具,然后成为客户端,尽管它与缓存在同一台服务器上,但它仍然是客户端。 它只会施加约 30 秒的压力。 它在两个节点之间每秒执行近 3,000 次操作。

测试 NCache 簇

现在我已经完成了这么多,我的下一个目标是添加客户。 因此,我将继续将其添加为我的客户端,然后我再次登录到此框,让我向您展示其证明,我会说“ipconfig”,您可以看到它是 112。所以,我我会来到这里,这可能已经停止了,我会来到这里并进入“查看详细信息”,我会来到这里并说“添加”一个客户端节点,我将执行 112。我会添加112。

在运行时添加客户端

现在我已经添加了 112,您会发现我在这里看不到客户端,因为我还没有运行任何东西。 我仅将客户端节点添加到配置中。 所以,现在我要来到这里,我将使用名为的 Powershell commandlet 压力测试。 我们为您提供的确实非常有用且强大的命令行工具 NCache。 我要运行它。 一旦我运行它,您就会看到我的客户端变成了客户端,因为现在我有一个正在与缓存通信的应用程序,并且突然它加载了负载。 因此,它每个盒子执行大约 3,000 个请求,您知道,它仅用一个客户端就对整个集群执行每秒近 6,000 个请求。

压力测试统计数据

缓存正在运行,应用程序正在运行。 虽然现在这个两节点集群还没有达到极限,但我们假设它已经达到极限,并且您想要添加第三台服务器。 因此,我将继续在运行时添加第三个服务器,并且在运行时添加意味着当其他一切都在运行时,当我要添加第三个服务器时,不会停止任何操作。 所以,我要来到服务器节点,我会说“添加”,第三个服务器是 111,所以,我要说 111。我会说“添加”。 它只是将其添加到配置中,但该服务器尚未启动。 因此,我将单击此处并说“开始”。 在执行此操作之前,您可以看到一个空的第三个服务器已添加到配置中,但尚未启动。 我将按下“开始”按钮,您会发现它突然变得活跃起来,当它出现时,它将开始接管一些负载。

因此,之前分配给两个节点的 6,000 个节点现在分配给了三个节点。 显然,在我添加更多客户端活动之前,不会添加更多事务,但我只是向您展示,如果两台服务器已满或已满,您可以在运行时添加第三台服务器,然后突然负载在运行时发生变化,不会导致任何数据丢失。

在运行时添加服务器

现在我已经在运行时添加了一个服务器,我还将在运行时添加另一个客户端。 这是另一台客户端机器。 因此,您可能还想增加……事实上,这比服务器更有可能发生,因为在达到 5:1 或类似比例之前,您可能不需要添加额外的服务器,但我会来到这里,一切都在运行,所以,我会来到客户端的节点,我会说 113,那就是盒子,对吗? 113. 我要补充一点,那是一个 Linux 盒子,但你会发现它没有在这里显示,因为我还没有在上面运行任何应用程序。 所以,我要来这里。 我实际上已经登录到了你可以看到的 113 框。 这是一个 Linux 盒子。 所以,我将从 Linux 运行一个压力测试工具,只是为了增加更多的压力,实际上让我来到这里,这样你就可以看到,目前我只有一个客户端,我将运行另一个客户。 一旦我这样做,这个数字就会增加到两个,瞧。 它增加到了 50 个,突然每秒请求负载从 XNUMX 个增加到了 XNUMX 个,而且这一切都在三台服务器上,每台服务器都增加了近 XNUMX%。

在运行时添加客户端

所以,现在如果我看到“报告视图”,我会得到每台服务器平均大约 3500 个,大约是 10,500 个或类似的值。 当然,这都是近似值,因为它不断波动。

报告视图

现在我已经向您展示了如何在运行时添加服务器,我已经向您展示了如何在运行时添加客户端,我将在同一个客户端框中添加另一个应用程序进程。 因此,我将使用 Windows 盒子,并且这里有另一个 PowerShell 命令提示符,我将运行另一个客户端。 这个压力测试工具非常强大,它确实可以让您非常快速地看到大量活动。 现在您可以看到更多的活动刚刚启动。因为,尽管客户端计算机的数量只有两台,但在一台计算机上我有一个应用程序,在一台计算机上我有两个应用程序。 所以,我一共有三个客户。

在运行时运行另一个客户端

让我们继续添加另一个客户端进程,或者 Linux 中的另一个应用程序。 所以,我有另一个单独的 Linux 登录名,我这里有一个,这里也有一个,只是为了再次向您展示这是相同的,它也是相同的 113 框。 所以,我要来这里,我会再次添加另一个盒子,我现在有四个客户。 所以,现在每台客户端机器有两个客户端,我的负载继续下去。

在 Linux Box 上运行时运行另一个客户端

因此,这很好地演示了如何在运行时完成所有操作以及它是多么容易。 您可以从中央管理中心做所有事情,这既是管理又是监控,真正让您的生活变得非常轻松。 好的,现在让我回来,我将启用我的视频。

 

5。 使用 NCache 在您的应用程序中

分布式缓存

所以,我实际上现在也测试了集群,然后现在最后一步是使用 NCache 在您的应用程序中。 由于这是一个 .NET 版本视频,因此我将更多地关注 .NET 应用程序,尽管您也可以使用 Java、Node.js 和 Python 应用程序。 因此,正如我已经提到的,有两种常见用途 NCache,一是将其用作分布式缓存,二是将其用作消息传递和流。 该图如下所示。

关键任务应用程序的分布式缓存

这是什么 分布式缓存 看起来像在哪里 NCache 位于应用程序层和数据库之间。 而且,目标是缓存数据库中尽可能多的数据,因此您的应用程序不必访问数据库。 至少 80% 的时间它从以下位置获取数据 NCache,并且您的应用程序性能得到提高,它也变得非常可扩展。 这是第一个用例。

消息传递和流媒体平台

第二个用例是使用 NCache 作为一个 消息传递和流 平台。 它又是一个由两台或更多服务器组成的超快速且可扩展的平台。 这里有多个解耦的应用程序。

NCache 作为消息传递和流媒体平台

这些可以是 Web 应用程序、微服务、Web API 或任何其他服务器应用程序。 它们可以是 .NET、Java、Node.js 和 Python,通过以下方式相互通信 发布子消息传递。 他们还可以使用 连续查询,还有其他的 活动 功能 NCache。 所以,这是两个主要用例 NCache.

样例代码

那么,让我向您展示一些应用程序数据缓存 .NET 的示例代码,它将在其中使用 NCache API。 但是,在向您展示该代码之前,让我向您展示您实际上可以 GitHub上,并且有一个 NCache 示例,具有 .NET 的存储库, .NET Core、Java、Node.js 示例。 我们正在添加 Python 示例。 因此,我已将所有这些示例下载到我的计算机上。 所以,我已经把它们放在这里了。 这样,我就可以进入 .NET Core 样本。 而且,我打开了其中三个示例,即 Pub/Sub 示例和会话缓存示例。 所以,我将向您展示其中的每一个。

因此,基本操作示例是向您展示应用程序数据缓存 NCache API。 因此,我将转到这里进行基本操作,这是一个非常简单的控制台应用程序,它连接到 NCache 第一的。 它做了一个'NCache.client.CacheManager.GetCache',指定缓存名称。 这个缓存名称是“democache”,这是我们在这里指定的,就在这里,这是我们在这里创建的缓存。 不管你怎么称呼它,这就是缓存。 而且,一旦它获取了缓存句柄,您就可以看到可以执行“_cache.Add、_cache.Get、_cache.Insert”操作。 Insert表示不存在则添加,否则更新。 然后是“_cache.Remove”。 它们显然远不止于此,但这只是为了让您快速了解基本操作示例的外观。

下一个示例是查看 ASP.NET Core 会话缓存。 所以,这是一个 ASP.NET Core 应用程序,如您在此处看到的。 我已经最小化了我的视频。 因此,我将进入“Startup.cs”。 在配置服务中,您只需要执行“services.Add”NCacheSession',然后是配置部分,然后它有一个'NCache设置”,然后如果您要转到“appsettings.json”,您会看到 NCache 设置再次相同 NCache 在我们的例子中,名称指定为“democache”。 而且,他们要做的第二件事是在配置方法中你必须做 app.UseNCache会议(); 这是我们的 NCache自己的 ASP 会话存储实现.NET Core 与标准会话缓存或存储相比,它具有许多附加功能。 所以,这也是非常强大的。 所以,这就是您开始使用所需的全部内容 NCache 用于会话存储。 我已经向您展示了应用程序数据缓存。 我已经向您展示了 Sessions ASP.NET Core。 显然还有更多的事情要做。

让我们快速了解一下 Pub/Sub 消息传递。 所以,我要来这里打开分布式……让我在这里最小化我的视频。 您可以看到我有一个发布者和一个订阅者。 这是两个独立的应用程序。 这是 跑() 发布者的方法。 在此示例中,它仅创建三个线程。 我要去 运行发布者 线。 确实如此 运行发布者, 运行批量发布器, 运行异步发布者。 我将向您展示它连接到缓存的方式与我在这里向您展示的方式相同。 再次以同样的方式获取缓存句柄,然后发布消息。 抱歉,RunPublisher 发布消息。 所以,我要继续发布消息。 发布消息本质上是根据主题名称获取主题句柄,然后继续发布消息。 因此,发布者以解耦的方式发布消息,并且有不同的发布者发布。

而且,现在您有了一个订阅者,它应该是一个单独的应用程序。 并且,它也以相同的方式连接到缓存,并且只是创建一个订阅。 我只是要来这里 运行订阅者。 因此,订阅者本质上再次以相同的方式获取缓存句柄,然后创建一个 主题,然后它会在其上创建订阅。 订阅基本上意味着订阅者说我对此主题感兴趣,如果发布者发布了任何消息,请给我回电。 因此,然后调用回调,然后回调可以针对该消息采取行动。

所以,非常解耦非常强大的使用方式 NCache 在 Pub/Sub 消息传递中。 所以,这是对什么的一个很好的概述 NCache 是全部。 我想说去吧 从 GitHub 下载示例 存储库。 并且,请继续 下载 30 天试用版 NCache。 正如我已经提到的 NCache 有 30 天免费试用期,最多可延长六个月。

NCache 游乐场

而且,还有一个特点 NCache 这就是所谓的 游乐场 这是一个完全工作的 NCache 在我们的网站上实时复制,您只需通过浏览器即可快速访问。 因此,您无需进行任何安装、任何设置,等等。 只需开始使用其中一些示例,您甚至可以运行这些示例。 您甚至可以查看 EF Core 示例并运行它。 有一个单独的 电影 对这个。 我不会详细介绍这一点,但这是一个非常强大的概念,可以帮助您很快开始了解什么 NCache 有能力。

非常感谢您的宝贵时间。 我们期待与您一起玩 NCache 并开始在您的应用程序中使用它。 非常感谢。

接下来做什么?

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。