• Facebook
  • Twitter(现为X)
  • Youtube
  • 内衬
  • RSS
  • 文档
  • 比较
  • 博客
  • 下载
  • 联系我们
下载
显示/隐藏目录

SQL语法

NCache 提供了一个 类 SQL 带有扩展搜索选项的查询语法。该查询语法允许您从缓存中检索特定的投影。您还可以指定 * 在投影中,从缓存中检索所有索引属性,进一步强调其类似 SQL 的行为。

注意:

NCache 还支持对旧查询语法的向后兼容性。

以下是标准 NCache 类似 SQL 的查询语法,包括可选参数 WHERE, GROUP BY和 ORDER BY 条款:

SELECT <projections> FROM <type> [WHERE <expression>] [GROUP BY <objectAttributes>] [ORDER BY <orderArguments>]

支持的 SQL 投影

您可以在查询中指定要投影的列。以下是列表: NCache- 支持的预测:

  • *返回所有索引属性和 命名标签 作为单独的列。
  • ColumnName返回满足查询条件的对象的指定列。
  • $VALUE$返回缓存中存储的实际对象。
  • $GROUP$: 返回 群 与满足 WHERE 子句中条件的对象相关的对象。
  • $TAG$: 返回 标签 与满足 WHERE 子句中条件的对象相关的对象。
  • Projection functions返回聚合函数的输出,包括:
    • SUM(标识符)
    • 数数(*)
    • 最小值(标识符)
    • 最大(标识符)
    • AVG(标识符)
注意:

您可以组合使用上述任何一种投影,除了 *,因为它只能单独指定。

指定目标类型和数据结构

扩展我们之前的类似 SQL 的查询语法, Type 属性可以指定以下之一:

  • Fully Qualified Name(FQN) 索引类型。
  • $DataType$ (针对数据结构)
  • $Text$ (适用于 System.String 类型)。
重要提示

NCache 要求所有可搜索的属性 索引 在使用它们之前。

句法

NCache SQL 语法提供了一种强大的高性能机制,可以使用众所周知的类 SQL 结构从分布式缓存中查询数据。它支持标准投影、逻辑运算符和聚合函数, NCache 允许应用程序根据特定属性而不是仅根据主键来过滤索引缓存对象,从而减少网络开销并增强应用程序的可扩展性。

下面的例子进一步说明了 NCache- 支持查询语法,假设用户正在处理 产品 类。

基本查询运算符

基本查询运算符允许您定义从数据库检索特定数据的条件。以下是一些常见的查询运算符及其使用示例:

操作者 描述 使用(示例)
= OR == 等于。 SELECT * From Product WHERE ProductID == 10
!= OR <> 不等于。 SELECT * From Product WHERE ProductID <> 8
< 少于。 SELECT ProductName From Product WHERE Price < 87
> 比...更棒。 SELECT ProductName From Product WHERE Price > 77
<= 小于等于。 SELECT UnitsInStock From Product WHERE Price <= 68
>= 大于等于。 SELECT UnitsInStock From Product WHERE Price >= 98
IS NULL 检查一个值是否 NULL. SELECT ProductName From Product WHERE Description IS NULL
IN 在一个范围内。 SELECT * From Product WHERE Category IN ('Fruit','Vegetable')
LIKE 主要用于基于通配符的搜索。 SELECT ProductID From Product WHERE ProductName LIKE ?

逻辑查询运算符

您可以将两个不同的表达式与 OR 和 AND 表达式进一步缩小查询范围。 您还可以组合运算符,例如 NULL, LIKE, IN等,与 NOT 运算符来扩大您的搜索范围。 下面通过各自的示例对所有这些运算符进行了解释。

操作者 描述 使用(示例)
AND 检索两个或多个条件的合并结果集。 SELECT ProductID From Product WHERE ProductName = 'Chai' AND Category ='Edibles'
OR 检索满足任一条件的结果集。 SELECT ProductID From Product WHERE ProductName = 'Chai' OR Category = 'Edibles'
NOT 检索与给定条件不匹配的结果集。 SELECT ProductName From Product WHERE ProductID NOT IN (10,15,20)

聚合函数

你可以计算 SUM, COUNT, AVG, MIN 或 MAX 使用以下函数获取指定的查询结果集。

操作者 描述 使用(示例)
SUM 计算指定条件的结果集的总和。 SELECT SUM(Product.UnitsAvailable) From Product WHERE Category = ?
COUNT 计算指定条件的结果集计数。 SELECT COUNT(*) From Product WHERE ShippingDate IS NULL
AVG 根据指定条件计算结果集的平均值。 SELECT AVG(Product.Price) From Product WHERE Category = ?
MIN 返回符合指定条件的结果集的最小值。 SELECT MIN(Product.Price) From Product WHERE Category = ?
MAX 返回符合指定条件的结果集的最大值。 SELECT MAX(Product.Price) From Product WHERE Category = ?

其他

下面是一些其他 SQL 运算符支持的示例 NCache在以下背景下进行了展示: 产品 类。

操作者 描述 使用(示例)
GROUP BY 基于聚合函数对数据进行分组。 SELECT Category, Count(*) FROM Product WHERE UnitsInStock < 15 GROUP BY Category
ORDER BY 根据条件以降序或升序对结果集进行排序。 SELECT * FROM Product WHERE Category = 'Edibles' ORDER BY Price
DateTime.Now 检索关于当前日期时间的结果集。 SELECT * FROM Order WHERE OrderDate < DateTime.Now
DateTime 引用任何特定的日期时间兼容字符串,并允许您检索与指定日期时间相关的结果集。 SELECT OrderID FROM Order WHERE OrderDate = DateTime('2000-1-15')

转义序列

在编写内联查询时,您现在可以使用 ', \n, \b和 \t 作为字符的转义序列。 以下示例进一步解释了这一点。

转义序列 使用(示例)
' SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\'Angelo'
\n SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\n Angelo'
\b SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\b Angelo'
\t SELECT * from FQN.Class where IndexedAttribute LIKE 'D\\t Angelo'

与 LIKE 内联查询中的运算符,您现在可以使用通配符 * 和 ? 使用语法搜索字符 \\* 和 \\? 分别。 以下示例详细解释了这一点。

人物 使用(示例)
* SELECT * from FQN.Class where IndexedAttribute LIKE 'Hello\\*World'
? SELECT * from FQN.Class where IndexedAttribute LIKE 'What is your name\\?'

参见

.NET: Alachisoft.NCache.客户.服务 命名空间。
Java的: com.alachisoft.ncache.client.services 包。
Python: ncache.客户端.服务 模块。
节点.js: 缓存 类。

联系我们

联系电话

+1 214-619-2601   (美国)

+44 20 7993 8327   (英国)

 
邮箱地址

sales@alachisoft.com

support@alachisoft.com

NCache
  • 版本比较
  • NCache 卓越
  • 基准
下载
定价
尝试游乐场

部署
  • 云(SaaS 和软件)
  • 内部部署
  • Kubernetes
  • Docker
技术用例
  • ASP.NET 会话
  • ASP.NET Core 会话
  • 发布/订阅消息
  • 实时 ASP.NET SignalR
  • 物联网(IOT)
  • NoSQL 数据库
  • 流处理
  • 微服务
相关资源
  • 杂志文章
  • 第三方文章
  • 专题文章
  • 视频
  • 白皮书
  • 作品
  • 会谈
  • 博客
  • 文档
客户案例研究
  • 评价
  • 客户
支持
  • 安排演示
  • 论坛(谷歌组)
  • 小技巧
关于我们
  • 领导团队
  • 合作伙伴
  • 新闻
  • 活动
  • 加入我们
联系我们

  • 英语简体中文法语版德语版意大利语版日语版韩语版葡萄牙语西班牙语

  • 联系我们
  •  
  • 网站地图
  •  
  • 使用条款
  •  
  • 隐私政策
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。
Back to top