本章介绍如何使用连贯性的查询语言(CohQL)互动与连贯性高速缓存。 CohQL是一个重量轻语法(SQL的传统),用于执行高速缓存操作上的连贯群集。语言可用于以编程方式或从一个命令行工具。
本章包含以下各节:
了解连贯性查询语言语法
使用命令行工具CohQL
大厦过滤器在Java程序
其他相干查询语言范例
注意事项:
虽然可能会出现CohQL语法类似于SQL,重要的是要记住,不是SQL的语法,实际上是更多的上下文相关的Java持久化查询语言(JPQL)标准。
CQL(连续化查询语言)是一种查询语言涉及到复杂事件处理(CEP),不应该被混淆与CohQL。
以下各节描述的功能由CohQL提供的。每节描述一个特定的语句,它的语法,以及一个例子。你可以找到多个查询的例子,在“附加连贯性查询语言的例子”。
注意事项:
CohQL不支持子查询。
在本节包括以下主题:
查询语法基础知识
检索数据
缓存的生命周期管理
使用缓存数据
使用索引
发出多个查询语句
查看查询成本和效益
仅供参考,表26-1列出了查询语句的连贯性,条款,按字母顺序排列的表达式。
表26-1连贯性查询语言报表
For this statement, clause, or expression... | See this section |
BACKUP CACHE | "Writing a Serialized Representation of a Cache to a File" |
bind variables | "Using Bind Variables" |
CREATE CACHE | "Creating a Cache" |
CREATE INDEX | "Creating an Index on the Cache" |
DELETE | "Deleting Entries in the Cache" |
DROP CACHE | "Removing a Cache from the Cluster" |
DROP INDEX | "Removing an Index from the Cache" |
ENSURE CACHE | "Creating a Cache" |
ENSURE INDEX | "Creating an Index on the Cache" |
GROUP BY | "Aggregating Query Results" |
INSERT | "Inserting Entries in the Cache" |
key() pseudo-function | "Using Key and Value Pseudo-Functions" |
path-expressions | "Using Path-Expressions" |
RESTORE CACHE | "Loading Cache Contents from a File" |
SELECT | "Retrieving Data from the Cache" |
SOURCE | "Processing Query Statements in Batch Mode" |
UPDATE | "Changing Existing Values" |
value() pseudo-function | "Using Key and Value Pseudo-Functions" |
WHERE | "Filtering Entries in a Result Set" |
本节介绍了一些基本语法,如路径表达式,绑定变量,伪功能块的语法。
26.1.1.1使用路径表达式
CohQL 是主要构建路径的表达式,路径表达式是用来浏览图的对象实例。一个标识符在一个路径表达式是用来表示一个属性在Java Bean意义。它的背后是一个的ReflectionExtractor所创建的前面加上一个get和首字母大写。由 "dot" (.) 字符,代表对象遍历元素分离。例如,下面的路径表达式用于导航对象结构:
a.B.c
它反射地调用这些方法:
getA().getB().getC()
26.1.1.2使用绑定变量