将数据保存在缓冲区 GET

PQL 构建了一个缓冲区用来保存GET语句或PASS语句获取的数据,以方便将这些数据更新到目标数据源或者将数据输出到其他地方。在 SAVE 语句中,已经展示了 GET 语句的基本用法。例如从当前数据源获取数据:

缓冲区的结构其实就是一个二维表格,这个二维表格将每次 GET 到的数据UNION ALL到一起。

也可以从多个数据源 GET 数据。

无论 GET 多少次,缓冲区中只会有一个数据表。 强烈建议每次 GET 数据结构完全一致,如果不一致在 PUT 数据或输出时有可能产生与预期不一样的结果。GET 语句不仅支持 SELECT 语句,理论上支持任何语句,如果语句返回的不是二维表格,将自动转成表格。

以上示例中,Redis 的 HGETALL 命令返回的是一个 Hash 结构数据,类似于 Json 中的对象结构,在 PQL 中是一个数据行,可以理解为是二维表格中的某一行,有多个键值对。PQL 自动将这个数据行转成一行的表格,键名即表格中的字段名。GET 也可以将其他集合数据结构放到缓冲区中。

GET 语句将上面的数据转成一个九行一列的表格,字段名默认为item。在保存到缓冲区之间可以会数据进行再加工。

上面示例中,第一个 GET 在查询结果中增加了一行数据,然后再保存到缓冲区。第二个 GET 将取到的 Hash 结构的数据 行转列 成两列的表格,列表分别为namescore->之后的内容称为 Sharp 表达式,更多相关操作见对应章节。GET 可以将单值也转成表格放进缓冲区,默认列名为value,但是这个应用场景非常少。

在 GET 完成之后,有几个全局变量可用:

特别注意


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!