提供了以下新功能 NCache v5.3 SP1。
提供了以下新功能 NCache v5.3。
针对 NCache 在 Azure 和 AWS 上可用的图像,注册免费评估 NCache 支持 NCache 网络管理器。 当机器未注册评估或许可证密钥时, NCache Web Manager 的默认屏幕将用户带到一个注册过程,以开始他们的评估或激活他们的盒子。
特点'NCache NoSQL' 5.3 中发布的已重命名为 'NCache 坚持”。 该功能的工作方式保持不变,但是删除了其他提供程序。 这 NCache 持久性现在只能与基于内置文件系统的存储一起使用。
所有类型 NoSQL 相关的 PowerShell cmdlet 也已重命名。
发布了一个单独的 NuGet 包 NCache CLR 存储过程。 这有助于轻松创建使用 NCache API。
用户可以强制 SignalR 应用程序使用应用程序的 web.config 或 appsettings.json 文件中指定的连接选项,而不是使用 client.ncconf 中指定的配置。 如果指定,应用程序将使用这些设置。
刷新间隔值现在可以设置为秒而不是分钟。 已进行更改以适应刷新应以小于一分钟的间隔运行的情况。
NCache 正在提供一个名为的新功能 NoSQL Database 整个数据库在内存中并且是分布式的,但它也实时持久保存到永久存储中(与其他产品不同,它们会定期拍摄快照或只保留事务日志)。 这种实时持久性可确保您的 In-Memory 数据始终保持同步,即使您重新启动所有 NCache 服务器。
NCache NoSQL Database 超级快速且可扩展,因为它是 100% 内存中的并且是分布式的。 同时, NCache NoSQL Database 像所有其他数据库一样保留数据,因此即使所有数据都不会丢失 NCache 服务器被关闭。
你可以选择坚持你 NoSQL Database in NCache 持久性表示超快速且非常可靠。 或者,如果您愿意,可以坚持 NoSQL Database 在领先的第三方数据库之一。 NCache 提供以下实时持久性选项 NoSQL Database:
您可以使用 NCache NoSQL Database 在以下方面:
注意: 您可以在 .NET、Java、Node.js 和 Python 应用程序中使用此功能。
NCache 为使用 Lucene 进行全文搜索的 .NET 应用程序提供分布式 Lucene。 分布式 Lucene 采用标准 Lucene.NET 索引并使其分布式,因此您可以将 Lucene 索引扩展到多个 NCache 服务器甚至在运行时。 这不仅可以让您增加索引大小,还可以增加您的应用程序事务容量,因为您的应用程序现在可以与多个 NCache Lucene 的服务器。
以下是分布式 Lucene 功能的一些亮点:
NCache 现在在 Windows 和 Linux 上都提供了一个强大的 Python 客户端。 这个 Python 客户端 具有所有客户端 API 功能 of NCache 传统上 .NET 和 Java 客户端所享受的。
NCache 以 PowerShell Cmdlet 形式提供导入和导出工具。 使用这些工具,您可以将 JSON / CSV 数据导入或导出到 NoSQL Database 或脱离它。 这允许您提取全部或部分 NoSQL database.
如果您已选择 NCache 持久性提供者 NoSQL Database,然后所有数据都保存在位于共享网络文件夹中的多个文件中(基于 UNC 路径)。
您可以对这些数据使用常规文件系统备份/恢复工具。 但是,请注意 NCache 为您提供一个管理工具(作为 PowerShell Cmdlet)来暂时挂起 NCache 在执行文件系统备份时写入持久存储。 但是,所有写入都将写入内存中的分布式数据副本并记录下来,因此当您完成备份后,您可以打开对持久性存储的写入。 然后,所有这些写入都以与实时相同的方式应用于持久性存储。
尽管为您提供了在线备份机制,但建议您选择低流量时间进行备份。 在未来, NCache 将提供完整的在线备份功能 NCache 持久性提供者 NoSQL Database 您甚至可以在备份期间继续进行写入。
但是,如果您选择 SQL Server 或 MongoDB 作为存储选项,那么您可以使用这些数据库提供的备份/恢复工具,包括在线备份。
如果您已经有一个使用 Lucene 的 .NET 应用程序,那么您可能会构建一个相当大的 Lucene 索引。 NCache 使您能够将现有的 Lucene 索引导入 NCache 以批量方式分发 Lucene。
这比通过从中读取文档并将这些文档添加到重新创建该索引要快得多 NCache 分布式 Lucene 索引。 这样做的原因是 NCache 分布式 Lucene 在批量文件级别而不是文档级别复制数据。
您可以执行以下类型的 Lucene 索引导入。
上述两个 Import Lucene 索引选项都可以通过 PowerShell Cmdlet 实现。
NCache 将 Lucene 索引分区并保存到分布式环境中 NCache 服务器。 而且,所有索引都存储为多个文件。 因此,您可以在它们上使用常规的文件系统备份/恢复工具。 但是,在当前版本的 NCache, 不提供在线备份,因此您需要停机以确保正确备份。 但是,如果您的应用程序没有在运行时更新分布式 Lucene 索引,那么您也可以进行在线备份。
恢复分布式 Lucene 索引与恢复文件系统文件相同,因此是可能的。 您可能必须使用与备份时相同的分发配置信息重新启动缓存。
NCache 现在完全支持 .NET 6.0。 全部 NCache 服务器在 .NET 6.0 中编译(或 .NET Framework 4.8,如果你已经下载了那个版本)。 NCache 客户端也是 .NET 6.0。 然而, NCache 还提供对早期版本的支持 .NET Core 和 .NET Framework NCache 客户端。
NCache 现在允许您为您的 ASP.NET / ASP 使用 JSON 序列化.NET Core 会议。 以前,您唯一的选择是使用 .NET 提供的二进制序列化。 我们仍然有二进制序列化选项,但在 .NET 6.0 中,二进制序列化默认是禁用的,不推荐使用。
JSON 序列化还具有您的 .NET 对象未标记为“可序列化”的优点。 以前,您必须更改代码以将所有对象标记为“可序列化”,或者使用压缩序列化功能 NCache. 在这两种情况下,它都需要你做很多额外的工作。
使用 JSON 序列化,您只需要更改配置设置,根本不接触代码,您现在可以开始使用在 ASP.NET / ASP 中不可序列化的对象.NET Core 会话。
为了包含任何对象属性 NCache SQL 查询,你必须先索引它。 以前,索引的唯一方法是将索引定义为 NCache 配置。 这仍然是可能的,也是一个很好的方法。
但是,现在您可以使用自定义注释以编程方式定义查询索引。 有了这个,您现在可以完全支持创建查询索引的不同方式 NCache.
NCache 现在支持可空属性来创建索引,然后在 SQL 查询中使用它们。 提供此功能是因为 .NET 属性和字段可以为空。 但是,以前 NCache 没有提供基于空值的搜索支持,现在它提供了。
NCache 现在支持使用分布式 Lucene 进行全文搜索中的地理空间索引。 就像常规全文搜索 Lucene 索引一样,地理空间索引也在内部使用 Lucene.NET 来支持地理空间查询。 地理空间索引的 NuGet 包与全文搜索索引 NuGet 包是分开的。
NCache 现在支持使用分布式 Lucene 进行分面搜索。 分面搜索是一种涉及使用分面导航系统增强传统搜索技术的技术。 这允许用户通过基于项目的分面分类应用多个过滤器来缩小搜索结果。
NCache 为分面搜索提供 NuGet 包,其中包含执行分面搜索所需的所有 API。
由于 .NET CLR 使用托管内存,因此垃圾收集和碎片会在任何高事务服务器应用程序中导致重大性能问题。 NCache 通过实现非常智能的对象池并将较大的对象分解为少于 80K 的对象,从而解决了这个问题,因此 LOH 不经常使用。
这种早期的内存优化已经得到了改善 NCache 对于最常用的“原子操作”,如获取、插入、更新、删除单个项目,性能相当不错。 但是,批量操作、查询索引、SQL 搜索等许多其他领域并没有以这种方式完全优化,因此导致频繁使用 LOH 和 Gen2 集合,因此不是最佳性能。
现在,这个版本的 NCache 在所有这些领域优化了内存管理,从而实现了更快的性能 NCache 在周围。
进行了以下优化:
NCache 传统上在本地环境中运行,因此不需要使用 https 来访问 NCache 网络管理器。 但是,现在随着 Azure、AWS 和其他云变得非常流行,越来越多的情况出现了用户可能需要访问 NCache 通过 https 的 Web 管理器。
NCache 现在提供对 https 访问的支持 NCache 网络管理器。 默认情况下,它是 http,但如果您有证书,您可以将其配置为使用 https。
NCache 传统上要求您指定 NCache 服务器基于它们的 IP 地址而不是机器名称。 这背后的原因是,在许多情况下, NCache 服务器有多个网络接口卡 (NIC),您不知道机器名称映射到哪个 NIC。 因此,使用 ip-address NCache 服务器和客户端仍然是首选方式。
但现在 NCache 如果您愿意,可以让您指定机器名称而不是 IP 地址。 您可以指定用于将缓存服务器或缓存客户端添加到缓存配置的机器名称。 同样,所有关于 NCache 默认情况下,Web Manager 继续使用 IP 地址。