第三章 介绍etcdctl的命令代码

1 、详细介绍etcdctl

1.1、租约

设置租约。为key设置时间,时间过去之后,数据将自动清除。
设置租约的时间:[这里设置为120秒]

etcdctl lease grant 120

返回一个租约的字符串编码号,设置租约时–lease需要填上该信息。
查看租约列表:

etcdctl lease list

查看租约的过期时间与租约时间:图中的Remaining剩余的过期时间

etcdctl lease timetolive 018f6d7bb11aba0d 

在这里插入图片描述
第三章 介绍etcdctl的命令代码_第1张图片
[查看租约信息]:
第三章 介绍etcdctl的命令代码_第2张图片
每次租约之后信息就会变。且上图也反映了时间一过就会get失效。
撤销租约:

etcdctl lease revoke [租约号]

第三章 介绍etcdctl的命令代码_第3张图片
续租:

etcdctl lease keep-alive [key]

1.2、get/put/del

第三章 介绍etcdctl的命令代码_第4张图片
--print-value-only只打印了value值
设置四个key-value。etcdctl 可以获取key的区间。
注意:上述命令所用到的范围是一个半开区间(左闭右开):[zwx, zwx3 )。
第三章 介绍etcdctl的命令代码_第5张图片
--prefix 遍历全部前缀为xxx的key
第三章 介绍etcdctl的命令代码_第6张图片
读取不同版本的 key
例如,一个应用可以利用这个特性回滚到较早的某个版本的配置。 因为对 etcd 后端存储的每次修改都会增加etcd 集群全局的版本号(revision),所以只需要提供指定的版本号就能读取相应版本的 key。
第三章 介绍etcdctl的命令代码_第7张图片
查找所有的key:

etcdctl get --from-key ""

删除所有的key:

etcdctl del --from-key ""

接 key 的字段序来读取:
--from-key 当客户端希望读取大于或等于 key 的字节值时,可使用数来实现。
以下命令将读取字典序比 b 大的所有 key:
第三章 介绍etcdctl的命令代码_第8张图片
删除一个key用del, 删除某范围内的key。
第三章 介绍etcdctl的命令代码_第9张图片
如果要在删除某个 key 的同时返回对应的 value:
--prev-kv 的使用
第三章 介绍etcdctl的命令代码_第10张图片
注意:同理删除也同意使用--prefix--from-key

1.3、watch

Watch用法:
第三章 介绍etcdctl的命令代码_第11张图片
也可以watch范围内的key:【同理区间也是左闭右开】
注意:其中key与watch之间,watch可以监听范围内的key,key自身也能找到watch,其中用到红黑树来进行快速查找map中的key。

第三章 介绍etcdctl的命令代码_第12张图片
watch 子命令还支持交互(interactive)模式,使用“ -i ”选项可 watch 多个key
-i:
第三章 介绍etcdctl的命令代码_第13张图片
etcdctl watch -i输入后,会阻塞,然后输入watch xxxx 则会监视。[上图可以证明这一点]
还可以监视历史的所有变化的key。

etcdctl watch --rev=xxx [key]

1.4、压缩

压缩 key 版本:
当我们执行del命令后,虽然etcdctl数据已经不存在,但是在历史记录中还是存在。所以我们要将它压缩掉。一旦压缩就是永久删除。
为了让客户端能够访问 key 过去任意版本的 value, etcd 会一直保存 key 所
有历史版本的 value。然而,etcd 所占的磁盘空间不能无限膨胀,因此需要为 etcd 配置压缩 key 版本号来释放磁盘空间。
进行压缩:
etcdctl compact 5
第三章 介绍etcdctl的命令代码_第14张图片
查看当前的版本号

etcdctl get [key] -w=json

在这里插入图片描述
有关etcd 常用配置参数:
etcd member:
第三章 介绍etcdctl的命令代码_第15张图片
Cluster:
第三章 介绍etcdctl的命令代码_第16张图片
更多常用参数请自行百度文档
检查节点是否安全:

curl http://127.0.0.1:2379/health

第二章 Etcd的初步认识
第四章 Etcd API的使用

你可能感兴趣的:(etcdraft,分布式)