【TcaplusDB知识库】Client工具的功能介绍
2023-03-14 22:58:23 时间
【TcaplusDB知识库】Client工具的功能介绍
TcaplusDB提供client工具,支持使用条件过滤进行查询或更新。
Client工具在Api包的路径:release/x86_64/bin/tcaplus_client
。
Client命令中,可用条件过滤的命令有:
- dump,全表扫描。
- select,条件查询。
- update,条件更新。
- replace,条件替换。
- delete,条件删除。
- query,数组查询。
详细使用见client的help信息。
5.1 Dump
- 全表扫描
client 内部调用 Traverse 或 ListTraverse 接口全表扫描。
如:
dump * from user where rank < 10 limit 10;
5.2 Select
- 主键查询
若条件中指定了主键(但不仅只有主键),client 内部调用 Get 或 ListGet 或 ListGetAll 接口进行查询。
如:
select * from list_user where id = 1 and name = 'aka' and $.LastAccessTime < '2021-10-01';
- Partkey查询
若条件中指定了部分key字段(可能还有其他条件),client 内部使用 IndexGetRequest 请求进行查询。
如:
select * from list_user where id = 1 and $.LastAccessTime < '2021-10-01' limit 10;
注意,若可能返回多个记录,需使用limit
指定数目,默认是limit 1
。 - 全表查询
若条件中无法确定全key(主键)或者部分key,那么 client 无法使用 ListGet 或 ListGetAll 接口进行查询。 那么 client 会优先尝试使用全局索引进行全表的SQL查询,若全局索引服务不可用,client 则使用 Traverse 或 ListTraverse 接口全表扫描,即等价于Dump。
Select 命令中,全局索引的优先级总是比全表遍历过滤查询高,在全局索引服务可用的情况下,若想强行使用全表遍历过滤,则可使用 Dump 命令。
如:
select * from list_user where $.LastAccessTime < '2021-10-01' limit 10;
注意,若可能返回多个记录,需使用limit
指定数目,默认是limit 1
。
5.3 Update
- 字段更新
client 内部调用 FieldSet 或 ListReplace 接口进行记录修改,因此条件中必须给定主键,对于 List 表还必须给定
-index
的值。 如:update list_user set rank = 0 where id = 1 and name = 'aka' and -index = 0;
- 数组更新
client 内部调用 UpdateItem 或 ListUpdateItem 接口进行记录修改,因此条件中必须给定主键,对于 List 表还必须给定
-index
的值。 如:update user push gameids#[-1][$=123] where id = 1 and name = 'aka' and gameids not contains($=123);
5.4 Replace
- 记录替换
client 内部调用 Set 或 ListReplace 接口进行记录修改,对于 List 表还必须给定
-index
的值。 如:replace into list_user (id, name, rank) values(1, 'aka', 100) where rank = 0 and -index = 0;
5.5 Delete
- 记录删除
client 内部调用 Del 或 ListDel 接口进行记录修改,因此条件中必须给定主键,对于List表还必须给定
-index
的值。 如:delete from user where id = 1 and name = 'aka';
- ListDelAll
List 表,若不指定
-index
,删除该主键下 List 的所有记录,但当前 ListDelAll 暂不支持条件过滤,因此条件中必须只有主键。
5.6 Query
- 数组查询
client 内部调用 Query 或 ListQuery 接口查询数组字段,因此条件中必须给定主键,对于List表还必须给定
-index
的值。 如:query user get mailbox#[0 - -1][title = 'tcaplus'] where id = 1 and name = 'aka';
TcaplusDB是腾讯出品的分布式NoSQL数据库,存储和调度的代码完全自研。具备缓存+落地融合架构、PB级存储、毫秒级时延、无损水平扩展和复杂数据结构等特性。同时具备丰富的生态、便捷的迁移、极低的运维成本和五个九高可用等特点。客户覆盖游戏、互联网、政务、金融、制造和物联网等领域。
相关文章
- 苹果 macOS 13 Ventura 正式版发布:台前调度、连续互通相机等来了
- Ubuntu MATE 22.10 的新变化
- 统信首届技术开放日,硬核技术引领操作系统“大迁移”
- 从零开始实现一个简单的低代码编辑器
- OpenHarmony设备开发(七)- LWIP
- Ubuntu 22.10 的新变化
- 20个GitHub仓库助你成为React大师
- Go 为什么要设计 Iota 常量?
- 一步一图带你深入理解 Linux 虚拟内存管理
- 如何使用ElasticSearch可视化工具TalendAPITester
- OpenHarmony短信倒计时
- 如何在 Arch Linux 中启用 Snap 支持
- 详解使用Git和Jmeter-Maven-Plugin管理Jmeter脚本的接口测试方案
- 原来项目打包也有这么技巧 - 浅谈 Tree Shaking 机制
- 聊一聊 Golang 方法接收者
- Linux 中的 ln 命令:创建软链接和硬链接
- 在 Linux 中如何从命令行查找默认网关的 IP 地址
- 手把手教你对文本文件进行分词、词频统计和可视化(附源码)
- 如何最小化软件开发成本
- Linux 系统中如何删除软连接