Aerospike客户端常用命令
Aerospike提供一套类SQL操作,和Mysql语法极其相似(命令解析参考注释),在安装aerospike的服务器上,通过aql --help 可以查看系统提供的帮助文档,里面还有很多DEMO语句。然后通过aql -h ip -p port 连上服务器(直接aql默认连接127.0.0.1 3000)。
AS常用命令
-
登录AS:先登录到服务器上,然后直接输入命令:
aql
连接:aql -p 3000 -h 192.168.0.1
-
显示所有命名空间:
show namespaces
(namespace类似mysql的db)1
2
3
4
5
6
7
8
9
10aql> show namespaces
+------------+
| namespaces |
+------------+
| "ns1" |
| "ns11" |
+------------+
[127.0.0.1:3000] 2 rows in set (0.002 secs)
OK -
显示所有表(集合):
show sets
(sets类似mysql中的table,相当于mysql中的show tables)1
2
3
4
5
6
7
8
9
10
11
12
13aql> show sets
+-------------+--------+--------------+------+------+-------------+--------+-----------+------+
| disable-eviction | ns | set-enable-xdr | objects | stop-writes-count | set | memory_data_bytes | truncate_lut | tombstones |
+-------------+--------+--------------+------+------+-------------+--------+------------+-----+
| "false" | "ns1" | "use-default" | "4" | "0" | "tablename" | "82" | "0" | "0" |
| "false" | "ns1" | "use-default" | "2" | "0" | "chiron" | "68" | "388060100729" | "0" |
| "false" | "ns1" | "use-default" | "0" | "0" | "sleipnir" | "0" | "0" | "0" |
| "false" | "ns1" | "use-default" | "17"| "0" | "retina" | "6267" | "0" | "0" |
| "false" | "ns11" | "use-default" | "1" | "0" | "chiron2" | "20" | "0" | "0" |
+------------+--------+----------------+-----+------+-------------+--------+------------+-----+
[127.0.0.1:3000] 5 rows in set (0.002 secs)
OK -
显示所有列(字段):
show bins
(bins列相当于mysql table中的column)1
2
3
4
5
6
7
8
9
10aql> show bins
+-------+--------+-------+-----------+
| quota | bin | count | namespace |
+-------+--------+-------+-----------+
| 32768 | "DATA" | 1 | "ns1" |
| 32768 | "DATA" | 1 | "ns11" |
+-------+--------+-------+-----------+
[127.0.0.1:3000] 2 rows in set (0.001 secs)
OK -
查询信息:
select * from 命名空间[.表名 where PK='主键名']
- 查询命名空间下的所有数据
1
2
3
4
5
6
7
8
9
10aql> select * from ns1;
+------------------------------------------------------------------+--------+------------+-----+
| DATA | pass | name | age |
+------------------------------------------------------------------+--------+------------+-----+
| KEY_ORDERED_MAP('{"heart":"1651720420500", "img_scanned":"53"}') | | | |
| | 123456 | "zhangsan" | 34 |
+------------------------------------------------------------------+--------+------------+-----+
24 rows in set (0.037 secs)
OK- 查询命名空间下集合中数据
1
2
3
4
5
6
7
8
9aql> select * from ns1.demo;
+--------+------------+-----+
| pass | name | age |
+--------+------------+-----+
| 123456 | "zhangsan" | 34 |
+--------+------------+-----+
1 row in set (0.038 secs)
OK- 带key查询:根据PK查询,相当于mysql表中的主键,AS还支持索引查询,但不支持不带索引的bin查询
1
2
3
4
5
6
7
8
9aql> select * from ns1.demo where PK="test_key";
+--------+------------+-----+
| pass | name | age |
+--------+------------+-----+
| 123456 | "zhangsan" | 34 |
+--------+------------+-----+
1 row in set (0.001 secs)
OK- 没建索引查询
1
2
3
4aql> select * from ns1.demo where name="zhangsan";
0 rows in set (0.000 secs)
Error: (201) AEROSPIKE_ERR_INDEX_NOT_FOUND- 创建索引并查询
1
2
3
4
5
6
7
8
9
10
11
12aql> create index idx_name on ns1.demo(name) STRING
OK, 1 index added.
aql> select * from ns1.demo where name="zhangsan";
+--------+------------+-----+
| pass | name | age |
+--------+------------+-----+
| 123456 | "zhangsan" | 34 |
+--------+------------+-----+
1 row in set (0.001 secs)
OK
AS常用操作
1.插入数据
1 | insert into 命名空间.表名(PK,name,password) VALUES('key1','abc','123') |
比如执行如下命令:
1 | insert into testMemory.demo(PK,name,password) VALUES('key1','abc','123') |
2.查看所有列
1 | show bins |
查看所有行
查看所有行,通过执行命令:show sets
1 | show sets |
根据PK查询
1 | select * from ns1.demo where PK='test_key' |
根据PK删除
1 | delete from ns1.demo where PK='test_key' |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 独特的留白!
评论