Consul学习之KV Data键值对数据_06

2026-04-01 18:39:02

1、Simple Usage简单的使用(确保启动了Consul)

键值对操作非常简单,类似redis的语法。Consul的键值对操作有两种方式,HTTP API 和 Consul KVCLI。

首先获取一个key=redis/config/minconns 的值,发现是空。

重新打开一个终端,输入命令:

consul kv get redis/config/minconns

Consul学习之KV Data键值对数据_06

Consul学习之KV Data键值对数据_06

2、没有存数据所以返回空,可以使用命令put 存储数据,如果多次put某一个key,最后一次生效,相当于更新了。

 consul kv put redis/config/minconns 1

 consul kv put redis/config/maxconns 25

 consul kv put -flags=42 redis/config/users/admin abcd1234

Consul学习之KV Data键值对数据_06

3、再使用get命令查询值,发现查询到了数据。

consul kv get redis/config/minconns

consul kv get redis/config/maxconns

consul kv get redis/config/users/admin

Consul学习之KV Data键值对数据_06

4、可以使用-detailed标签查看,键值对的详细信息,包括 创建索引、标志、key、锁索引、修改索引、session、value

consul kv get -detailed redis/config/minconns

consul kv get -detailed redis/config/users/admin

可以看到redis/config/users/admin的flags信息是42,就是自己设置的,flags是一个64位的整数。

Consul学习之KV Data键值对数据_06

5、查询所有的键值对命令:

consul kv get -recurse

Consul学习之KV Data键值对数据_06

6、删除操作:delete,删除的时候可以使用recurse 标志,递归的删除某个前缀的所有键值对

consul kv delete redis/config/minconns

consul kv get -recurse

consul kv delete -recurse redis

consul kv get -recurse

Consul学习之KV Data键值对数据_06

7、原子操作,所谓的原子操作,就是在修改的时候加上一个参数ModifyIndex,修改前校验这个索引的值和库中的值是否相等,相等才能修改。

consul kv put foo bar

consul kv get -detailed foo

consul kv put -cas -modify-index=112 foo xyx

consul kv put -cas -modify-index=112 foo hhh

consul kv get -detailed foo

put foo 的时候,ModifyIndex=112,第一次修改的时候可以成功,修改后ModifyIndex=116再用112修改就不好用了。

Consul学习之KV Data键值对数据_06

8、Consul Web UI

在浏览器中输入:

http://localhost:8500/ui/#/dc1/services

可以通过网页配置各种信息。

Consul学习之KV Data键值对数据_06

猜你喜欢