NCache,一个分布式的、线性可扩展的和快速的内存 键值存储 允许缓存对象以减少数据库访问并轻松扩展更高的负载。 相似地, Redis 也是一种分布式缓存解决方案,但缺少关键功能,例如 SQL & LINQ 支持, 客户端缓存 (InProc) 和 点对点聚类 等对于.NET Redis 客户端应用程序, NCache 提供与 StackExchange 相同的包装 API。Redis API 让用户可以轻松迁移到 NCache 以最少的代码更改。
因此,实际的步骤是从 Redis 至 NCache. 该博客提供了一个逐步指南,说明需要做什么才能从 Redis 至 NCache.
需要的 NCache 包装器 Redis 对于 .NET 和 .NET Core
综上所述,现在想象一个 Redis 使用纯 .NET/ 的客户端.NET Core 应用程序,希望以最少的代码更改和添加的功能进行移植。 他应该怎么做? 采用 NCache! 它提供了许多功能和从 Redis 至 NCache.
但是,对于使用 NCache 用你自己的 Redis 客户端应用程序,您将不得不学习很多 NCache,其提供的功能,然后合并 NCache 同时还执行其他功能。 部署的应用程序将不得不一次又一次地重新测试,这将成为一个非常昂贵和麻烦的过程。
所以, NCache 非常巧妙地解决了上述问题; 它实现了一个包装器 NCache API 与 StackExchange 相同。Redis API。 这是标准的 StackExchange。Redis API,因此您的代码更改最少 Redis 客户端应用程序,以便以可扩展的方式使用它 NCache.
如何利用 NCache 包装器 Redis 容易
关于迁移的最好的部分 Redis 至 NCache 是无需代码和迁移所需的逻辑更改的便利性。 堆栈交换。Redis API 的行为在整个过程中是相同的 NCache 与...整合 Redis 客户端应用程序。
作为用户,您只需编辑一些命名空间以提供对缓存的访问以及下载 NuGet软件包 你的整个应用程序都很好。 此包装器的源代码以及示例应用程序已上传到 GitHub上.
步骤1:下载 NCache Redis 包装 NuGet
NCache 提供了一个 NuGet软件包 安装在您的 StackExchange 中。Redis 应用。 NuGet 包包含 客户端.ncconf 用于配置缓存客户端访问的文件 NCache 来自客户端计算机的集群。
1 |
Install-Package NCache.StackExchange.Redis |
步骤:2 将命名空间添加到您的应用程序
在您的应用程序和源文件中添加以下命名空间:
1 |
NCache.StackExchange.Redis |
步骤3: 连接到缓存和 NCache 数据库
下一步是通过 ConnectionMultiplexer 类 这是 StackExchange 中的中心对象。Redis 隐藏多个服务器细节的 API。 确保缓存正在运行,以便可以无缝执行操作。 你也可以学习 如何创建缓存 从逐步指南中 NCache 文档。
1 |
ConnectionMultiplexer ncache = ConnectionMultiplexer.Connect(“cacheName”); |
就像 NCache 提供了一个 缓存 获取实例的接口 NCache的缓存, 积极NCache界面 是通过获取缓存 Redis 界面。
1 |
ICache cache = ncache.GetNCacheInterface(“cacheName”); |
就像访问一个 Redis 数据库,使用起来非常简单 NCache 作为如下所示的包装器。
1 |
var db = ncache.GetDatabase(); |
此外,与您的应用程序的其余部分一起,您可以继续使用 StackExchange。Redis API 与您之前使用的方式相同,无需任何代码更改。
一旦您的应用程序连接到 NCache 缓存集群,你可以很容易地执行操作,就是这样,你的 Redis 应用程序现在迁移到 NCache. 因此,只需几个步骤即可迁移您的整个 Redis 申请 NCache 没有任何麻烦。
为什么 NCache 包装器 Redis 客户?
运用 NCache 查阅 Redis 客户端应用程序为您提供以下好处:
-
- SQL 查询和 LINQ: NCache 为基于对象属性、组/子组查询缓存提供 SQL 和 LINQ 支持, 标签 和 命名标签 这使得搜索存储在缓存中的数据变得非常容易。
- 服务器端代码 (.NET): NCache 允许您部署 服务器端代码 在集群中的缓存服务器上运行。 提供了一组丰富的功能,可让您在 .NET 中开发和部署服务器端代码。 一些功能是 通读, 直写 和 缓存加载器.
- 保持缓存新鲜(依赖): NCache 确保您的缓存始终是最新的,并且您可以放心地依赖其数据完整性。 如果缓存中的数据过时,它会立即更新为数据库的数据。 NCache 为此目的提供了一个功能列表,例如 将缓存与数据库同步 和 依赖 不像 Redis 仅通过到期提供。
- 缓存性能(客户端缓存(InProc 速度)): NCache 提供 客户端缓存 (Near Cache) 这基本上是一个非常靠近您的应用程序 (InProc/OutProc) 的本地缓存。 它为您的应用程序提供了 InProc 速度,这意味着更快地检索对象。
结论
总结一下,我们从博客中学到的是如何 NCache wrapper 可让您迁移整个 Redis 申请 NCache 通过遵循一系列简单的步骤。 您可以轻松使用 NCache的功能只需使用 NCache Redis 没有代码更改的包装器和原始的 StackExchange。Redis API。 还有很多其他 提供的功能 NCache 增强应用程序的性能并帮助您实现所需的可扩展性。
NCache 更多信息 下载 NCache 版本比较