LINQ 支持 NCache

现实世界的应用程序可能经常需要过滤数据,而不是简单地查询主键。 使用 LINQ 可以根据您在运行时使用的任何自定义逻辑轻松地从数据库检索数据。 所以, NCache 支持 LINQ 查询,它允许您以查询数据库的相同方式查询分布式缓存。

LINQ 是一种通用的 .NET 查询语言,可用于从数据源中搜索和过滤数据。LINQ 语法与 SQL 非常相似,但它在查询时提供了更好、更优化的查询方法。 NCache 服务器。 它提供了允许更有效的查询表达式的能力,同时满足代码编译期间的语法检查。

NCache 通过 LINQ 提供程序将 LINQ 无缝集成到缓存中查询信息。该提供程序有助于在分布式缓存上执行 LINQ 查询,同时无需修改 LINQ 对象模型即可提高应用程序的性能。

与在本地执行的标准 LINQ to Objects 不同, NCache LINQ 在整个服务器集群上并行执行查询。这种分布式执行方式确保在数据源端进行过滤,从而显著减少客户端应用程序的内存占用。

 

哪个 LINQ 查询表达式 NCache 支持?

NCache 支持使用 LINQ 语言的基本查询表达式来搜索缓存数据。它们是:

  • Lambda 表达式: LINQ 方程中的 Lambda 表达式在运行时转换逻辑,因此可以方便地传递数据源。
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = products.Select(p => p).Where(p => p. UnitsInStock > 10);
  • 查询表达式: 查询表达式从启用 LINQ 的分布式缓存服务器查询和转换数据。
  • IQueryable<Product> products = new NCacheQuery<Product>(cache);
    IQueryable<Product> product = from prod in products
    	where prod.UnitsInStock > 10
    	select prod;
特性 Lambda 表达式(Fluent) 查询表达式(声明式)
语法风格 基于方法(链式方法) 类似 SQL 的关键字(,来自, 协调, 选择)
汇编 直接编译成表达式树(用于 可查询) 编译器将其转换为 Lambda 方法调用,然后转换为表达式树。
NCache 执行 解析为 NCache 通过 SQL NCache询问 解析为 NCache 通过 SQL NCache询问
最佳用例 更适合动态查询构建/管道化 更适合复杂的连接或可读性较差的“扁平”查询
 

LINQ 运算符

LINQ 运算符是提供查询功能(如投影、聚合、过滤和排序)的扩展方法。 在这些运营商中, NCache 支持下面提到的那些:

  • 投影算子: 基于变换函数的投影值。 以下代码片段展示了如何使用选择投影运算符来搜索缓存数据。
  • IQueryable<Product> product = products.Select(prod => prod);
  • 限制运算符: 将结果集限制为满足特定条件的选定数据。 此代码片段在缓存中搜索订单数量大于 10 的所有产品。
  • IQueryable<Product> product = products.Select(prod => prod).Where(prod => prod.UnitsInStock > 10);
 

查询运算符

NCache 支持带有 LINQ 查询的基本查询运算符,例如:

  • 等于 (==)
  • 不等于 (!=)
  • 小于 (<)
  • 大于 (>)
  • 小于等于 (<=)
  • 大于等于 (>=)

请参阅 LINQ 查询运算符 对于这些运算符的使用。

 

逻辑运算符

NCache LINQ 支持两个逻辑运算符 - AND (&&) 和 OR (||) 运算符。 这些运算符组合了两个或多个缓存搜索的限制条件。 遵循我们的 LINQ 指南 逻辑运算符 详细了解它们的用法。

 

聚合运算符

NCache 支持以下聚合运算符:

  • 计数
  • max.
  • 分钟
  • 一般
  • 总和

以下是如何使用聚合函数搜索缓存数据并统计结果的示例:

int count = products.Select(p => p).Where(prod => prod.UnitsInStock <= 50).Count();

了解聚合运算符的用法 NCache 从我们的指南 LINQ 聚合运算符.

 

通配符运算符

NCache 支持 LINQ 表达式中的多个通配符。 这些通配符运算符是:

  • 以。。开始
  • 以。。结束
  • 包含
  • 等于

以下是使用带有限制的通配符的示例,其中运算符在缓存中搜索特定数据集:

IQueryable<Product> product = products.Select(p => p).Where(p => p.ProductName.StartsWith("Be"));

请参阅我们的文档 LINQ 通配符运算符 了解更多。

 

如何使用 LINQPad? NCache?

LINQPad 是一个第三方工具,用于使用查询和 lambda 表达式交互式查询 SQL 数据库,并在没有任何 IDE 的情况下编写 C# 代码。 NCache 支持与 LINQPad 实用程序无缝集成,以提高数据分析和应用程序性能。 要在 LINQPad 中处理查询, NCache LINQ 提供程序使用 NCacheContext 类,它是 .NET 框架的 IQueryable 接口的实现。

IQueryable<Product> product = new NCacheContext<Product>("ClusteredCache");
var result = from prod in product
	where prod.ProductID == 12
	select prod;

result.Dump();

在 LINQPad 中运行此脚本将创建一个 LINQ 对象产品来查询 UnitsInStock 大于 50 的产品。

LINQPad 5 执行 NCache使用 LINQ 查询从分布式缓存中检索 ProductID 12。
查询 NCache 使用 LINQPad 的集群缓存。

要了解有关如何使用 LINQPad 查询缓存数据的更多信息,请关注我们的文档 使用 LINQPad 查询缓存中的数据,并在中配置 LINQPad NCache 对于您自己,请按照中提供的步骤进行操作 为 LINQPad 配置 NCache.

接下来做什么?

常见问题

NCache LINQ 支持允许您使用标准 C# 语法查询分布式缓存数据,在服务器集群上并行执行筛选器,以减少客户端内存占用和数据库负载。

是的, NCache 通过以下方式支持 Lambda 表达式(流畅语法): NCache询问 类,支持运行时逻辑转换,以实现高效的缓存搜索。

NCache 通过以下方式与 LINQPad 无缝集成: NCache语境 该类允许开发人员使用 C# 语句交互式地查询集群缓存,而无需完整的 IDE。

NCache 支持标准 LINQ 聚合运算符,包括 计数, max., 分钟, 一般总和 用于对缓存的数据集执行服务器端计算。

NCache 支持 LINQ 表达式中的多个通配符运算符,具体来说 以。。开始, 以。。结束, 包含等于 用于灵活的基于字符串的过滤。

联系我们

联系电话

+1 214-619-2601 (美国)

+44 20 7993 8327 (英国)

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