新增功能 NCache 5.3?

v5.3 SP1 中有什么新功能?

提供了以下新功能 NCache v5.3 SP1。

v5.3的新增功能?

提供了以下新功能 NCache v5.3。

 

评估注册通过 NCache 网络管理员

针对 NCache 在 Azure 和 AWS 上可用的图像,注册免费评估 NCache 支持 NCache 网络管理器。 当机器未注册评估或许可证密钥时, NCache Web Manager 的默认屏幕将用户带到一个注册过程,以开始他们的评估或激活他们的盒子。

 

重命名 NCache NoSQL 至 NCache 坚持

特点'NCache NoSQL' 5.3 中发布的已重命名为 'NCache 坚持”。 该功能的工作方式保持不变,但是删除了其他提供程序。 这 NCache 持久性现在只能与基于内置文件系统的存储一起使用。

所有类型 NoSQL 相关的 PowerShell cmdlet 也已重命名。

 

单独的 NuGet 包 NCache CLR 存储过程

发布了一个单独的 NuGet 包 NCache CLR 存储过程。 这有助于轻松创建使用 NCache API。

 

支持中的连接选项 NCache SignalR Backplane

用户可以强制 SignalR 应用程序使用应用程序的 web.config 或 appsettings.json 文件中指定的连接选项,而不是使用 client.ncconf 中指定的配置。 如果指定,应用程序将使用这些设置。

 

刷新间隔值从分钟更改为秒

刷新间隔值现在可以设置为秒而不是分钟。 已进行更改以适应刷新应以小于一分钟的间隔运行的情况。

 

NoSQL Database (具有持久性的内存中)

NCache 正在提供一个名为的新功能 NoSQL Database 整个数据库在内存中并且是分布式的,但它也实时持久保存到永久存储中(与其他产品不同,它们会定期拍摄快照或只保留事务日志)。 这种实时持久性可确保您的 In-Memory 数据始终保持同步,即使您重新启动所有 NCache 服务器。

NCache NoSQL Database 超级快速且可扩展,因为它是 100% 内存中的并且是分布式的。 同时, NCache NoSQL Database 像所有其他数据库一样保留数据,因此即使所有数据都不会丢失 NCache 服务器被关闭。

你可以选择坚持你 NoSQL Database in NCache 持久性表示超快速且非常可靠。 或者,如果您愿意,可以坚持 NoSQL Database 在领先的第三方数据库之一。 NCache 提供以下实时持久性选项 NoSQL Database:

  • NCache 持久性提供者: 默认选项。 NCache 在共享网络位置(UNC 路径)中使用基于 LiteDB 的文件持久性。 您可以根据自己的喜好选择 SSD / HDD、NAS / SAN 或云存储。
  • SQL Server 提供程序: 所有数据都存储在 SQL Server 数据库中。 由于写入通常不到 20% 的操作,而 80% 是读取,因此在 SQL Server 中保存数据仍然可以使您的应用程序保持超快速度并具有线性可伸缩性。
  • MongoDB提供者: 所有数据都存储在 MongoDB 数据库中。 由于 80% 的读取时间都在内存中,因此您的应用程序比直接访问 MongoDB 快得多。
  • 甲骨文 / Cosmos DB / 其他 (快来了): 我们将尽快提供更多第三方数据库存储选项 NCache NoSQL Database 存储架构是基于提供者的。

您可以使用 NCache NoSQL Database 在以下方面:

  • 创建新 NoSQL Database: 这将使用您的存储选项创建数据库,并创建它的内存中分布式副本。
  • 打开现有 NoSQL Database: 这使用了一个已经创建的 NoSQL Database 并创建它的内存中分布式副本。

注意: 您可以在 .NET、Java、Node.js 和 Python 应用程序中使用此功能。

 

.NET 的分布式 Lucene(全文搜索)

NCache 为使用 Lucene 进行全文搜索的 .NET 应用程序提供分布式 Lucene。 分布式 Lucene 采用标准 Lucene.NET 索引并使其分布式,因此您可以将 Lucene 索引扩展到多个 NCache 服务器甚至在运行时。 这不仅可以让您增加索引大小,还可以增加您的应用程序事务容量,因为您的应用程序现在可以与多个 NCache Lucene 的服务器。

以下是分布式 Lucene 功能的一些亮点:

  • 无需更改代码即可使用: 您无需更改现有 Lucene 应用程序中的任何代码即可使用分布式 Lucene。 支持标准的 Lucene.NET API。
  • Lucene 索引分布到多个 NCache 服务器: NCache 分发 Lucene 索引并将其持久化到多个 NCache 服务器。 每个服务器都保留整个索引的一部分。 NCache 已修改其分区缓存和分区副本缓存拓扑以处理分布式持久性。
  • 添加/删除 NCache 运行时的服务器: 您可以添加或删除 NCache 运行时的服务器。 每次添加服务器时,现有的 Lucene 索引都会进一步分区,并将一部分复制到这个新添加的服务器。 当你删除一个服务器时,它的索引被复制并合并到其他剩余的 NCache 服务器。
  • 定向分区(非自动): 由于大多数 Lucene 索引都非常大,如果 NCache 服务器在运行时关闭,分区不会像在非 Lucene 情况下那样自动重做 NCache. 但是,如果您显式添加或删除 NCache 服务器与 NCache 管理工具然后创建或删除分区,Lucene索引被进一步分区并复制到新的 NCache 服务器或 Lucene 索引来自 NCache 被删除的服务器被复制并合并到集群中的其他分区。
  • 仅分区缓存/分区副本缓存: 分布式 Lucene 功能仅在这两种缓存拓扑上可用。 原因是其他两种缓存拓扑(镜像缓存/复制缓存)并没有为这个特性增加很多价值。
 

Python 客户端

NCache 现在在 Windows 和 Linux 上都提供了一个强大的 Python 客户端。 这个 Python 客户端 具有所有客户端 API 功能 of NCache 传统上 .NET 和 Java 客户端所享受的。

 

导入/导出 NoSQL Database

NCache 以 PowerShell Cmdlet 形式提供导入和导出工具。 使用这些工具,您可以将 JSON / CSV 数据导入或导出到 NoSQL Database 或脱离它。 这允许您提取全部或部分 NoSQL database.

 

备份/恢复 NoSQL Database

如果您已选择 NCache 持久性提供者 NoSQL Database,然后所有数据都保存在位于共享网络文件夹中的多个文件中(基于 UNC 路径)。

您可以对这些数据使用常规文件系统备份/恢复工具。 但是,请注意 NCache 为您提供一个管理工具(作为 PowerShell Cmdlet)来暂时挂起 NCache 在执行文件系统备份时写入持久存储。 但是,所有写入都将写入内存中的分布式数据副本并记录下来,因此当您完成备份后,您可以打开对持久性存储的写入。 然后,所有这些写入都以与实时相同的方式应用于持久性存储。

尽管为您提供了在线备份机制,但建议您选择低流量时间进行备份。 在未来, NCache 将提供完整的在线备份功能 NCache 持久性提供者 NoSQL Database 您甚至可以在备份期间继续进行写入。

但是,如果您选择 SQL Server 或 MongoDB 作为存储选项,那么您可以使用这些数据库提供的备份/恢复工具,包括在线备份。

 

导入 Lucene 索引

如果您已经有一个使用 Lucene 的 .NET 应用程序,那么您可能会构建一个相当大的 Lucene 索引。 NCache 使您能够将现有的 Lucene 索引导入 NCache 以批量方式分发 Lucene。

这比通过从中读取文档并将这些文档添加到重新创建该索引要快得多 NCache 分布式 Lucene 索引。 这样做的原因是 NCache 分布式 Lucene 在批量文件级别而不是文档级别复制数据。

您可以执行以下类型的 Lucene 索引导入。

  • 将现有的 Lucene 索引导入 NCache: 如果您已经构建了 Lucene 索引,则可以使用 NCache 导入工具将其快速导入 NCache 分发 Lucene。 而且,您的索引是在文件级别而不是文档级别复制的,这要快得多。
  • 导入现有的分布式 Lucene 索引: 如果你已经有一个 NCache 分布式 Lucene 索引,并且您想将其导入到另一个位置/环境中,您可以轻松地做到这一点。 索引是在批量文件级别而不是文档级别复制的,因此速度非常快。

上述两个 Import Lucene 索引选项都可以通过 PowerShell Cmdlet 实现。

 

备份/恢复分布式 Lucene 索引

NCache 将 Lucene 索引分区并保存到分布式环境中 NCache 服务器。 而且,所有索引都存储为多个文件。 因此,您可以在它们上使用常规的文件系统备份/恢复工具。 但是,在当前版本的 NCache, 不提供在线备份,因此您需要停机以确保正确备份。 但是,如果您的应用程序没有在运行时更新分布式 Lucene 索引,那么您也可以进行在线备份。

恢复分布式 Lucene 索引与恢复文件系统文件相同,因此是可能的。 您可能必须使用与备份时相同的分发配置信息重新启动缓存。

 

.NET 6.0 支持

NCache 现在完全支持 .NET 6.0。 全部 NCache 服务器在 .NET 6.0 中编译(或 .NET Framework 4.8,如果你已经下载了那个版本)。 NCache 客户端也是 .NET 6.0。 然而, NCache 还提供对早期版本的支持 .NET Core 和 .NET Framework NCache 客户端。

 

JSON 序列化会话 (ASP.NET / ASP.NET Core)

NCache 现在允许您为您的 ASP.NET / ASP 使用 JSON 序列化.NET Core 会议。 以前,您唯一的选择是使用 .NET 提供的二进制序列化。 我们仍然有二进制序列化选项,但在 .NET 6.0 中,二进制序列化默认是禁用的,不推荐使用。

JSON 序列化还具有您的 .NET 对象未标记为“可序列化”的优点。 以前,您必须更改代码以将所有对象标记为“可序列化”,或者使用压缩序列化功能 NCache. 在这两种情况下,它都需要你做很多额外的工作。

使用 JSON 序列化,您只需要更改配置设置,根本不接触代码,您现在可以开始使用在 ASP.NET / ASP 中不可序列化的对象.NET Core 会话。

 

使用注解的 SQL 查询索引

为了包含任何对象属性 NCache SQL 查询,你必须先索引它。 以前,索引的唯一方法是将索引定义为 NCache 配置。 这仍然是可能的,也是一个很好的方法。

但是,现在您可以使用自定义注释以编程方式定义查询索引。 有了这个,您现在可以完全支持创建查询索引的不同方式 NCache.

 

SQL 查询中的可空支持

NCache 现在支持可空属性来创建索引,然后在 SQL 查询中使用它们。 提供此功能是因为 .NET 属性和字段可以为空。 但是,以前 NCache 没有提供基于空值的搜索支持,现在它提供了。

 

分布式 Lucene 的地理空间索引

NCache 现在支持使用分布式 Lucene 进行全文搜索中的地理空间索引。 就像常规全文搜索 Lucene 索引一样,地理空间索引也在内部使用 Lucene.NET 来支持地理空间查询。 地理空间索引的 NuGet 包与全文搜索索引 NuGet 包是分开的。

分布式 Lucene 的分面搜索

NCache 现在支持使用分布式 Lucene 进行分面搜索。 分面搜索是一种涉及使用分面导航系统增强传统搜索技术的技术。 这允许用户通过基于项目的分面分类应用多个过滤器来缩小搜索结果。

NCache 为分面搜索提供 NuGet 包,其中包含执行分面搜索所需的所有 API。

 

内存优化以获得更快的性能

由于 .NET CLR 使用托管内存,因此垃圾收集和碎片会在任何高事务服务器应用程序中导致重大性能问题。 NCache 通过实现非常智能的对象池并将较大的对象分解为少于 80K 的对象,从而解决了这个问题,因此 LOH 不经常使用。

这种早期的内存优化已经得到了改善 NCache 对于最常用的“原子操作”,如获取、插入、更新、删除单个项目,性能相当不错。 但是,批量操作、查询索引、SQL 搜索等许多其他领域并没有以这种方式完全优化,因此导致频繁使用 LOH 和 Gen2 集合,因此不是最佳性能。

现在,这个版本的 NCache 在所有这些领域优化了内存管理,从而实现了更快的性能 NCache 在周围。

进行了以下优化:

  1. 新区域中的对象池以确保重用更大的对象,而不是让它们被 GC 收集。
  2. 避免在新区域分配 LOH。
  3. 使用性能更好的最新版本的协议缓冲区(Protobuf)
 

支持 https (NCache 网页管理员)

NCache 传统上在本地环境中运行,因此不需要使用 https 来访问 NCache 网络管理器。 但是,现在随着 Azure、AWS 和其他云变得非常流行,越来越多的情况出现了用户可能需要访问 NCache 通过 https 的 Web 管理器。

NCache 现在提供对 https 访问的支持 NCache 网络管理器。 默认情况下,它是 http,但如果您有证书,您可以将其配置为使用 https。

 

支持机器名称 (NCache 网页管理员)

NCache 传统上要求您指定 NCache 服务器基于它们的 IP 地址而不是机器名称。 这背后的原因是,在许多情况下, NCache 服务器有多个网络接口卡 (NIC),您不知道机器名称映射到哪个 NIC。 因此,使用 ip-address NCache 服务器和客户端仍然是首选方式。

但现在 NCache 如果您愿意,可以让您指定机器名称而不是 IP 地址。 您可以指定用于将缓存服务器或缓存客户端添加到缓存配置的机器名称。 同样,所有关于 NCache 默认情况下,Web Manager 继续使用 IP 地址。

联系我们

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