【etcd】etcd_APIs简单KV、watch、lease、txn命令
- 电脑硬件
- 2025-09-07 04:18:01

etcd API 概览
etcd API 主要分为以下几类:
API作用KV处理键值对的存取(Put、Get、Delete)Watch监听 etcd 中键值的变化Lease通过租约(Lease)设置数据的过期时间Txn(事务)事务操作,支持多个操作的原子执行Auth用户权限管理(添加用户、角色、授权等)Cluster管理 etcd 集群节点Maintenance维护 etcd(查看状态、快照、清理数据等)Lock分布式锁在 etcd 中,kv(键值操作)、watch(监听)、lease(租约)和 txn(事务)是核心功能。以下是这些功能的 etcd 原生命令 的详细讲解,包括命令的用法和示例。
1. KV(键值操作) 1.1 设置键值对 (put)
用于设置或更新键值对。
命令格式 etcdctl put <key> <value> [选项] 示例 etcdctl put /config/database/host localhost 设置键 /config/database/host 的值为 localhost。 常用选项 --lease:为键绑定租约。etcdctl put /config/database/host localhost --lease=1234abcd1.2 获取键值对 (get)
用于获取键的值。
命令格式 etcdctl get <key> [选项] 示例 etcdctl get /config/database/host 获取键 /config/database/host 的值。 常用选项 --prefix:获取指定前缀的所有键。etcdctl get /config/ --prefix --limit:限制返回的键值对数量。etcdctl get /config/ --prefix --limit=21.3 删除键值对 (del)
用于删除键值对。
命令格式 etcdctl del <key> [选项] 示例 etcdctl del /config/database/host 删除键 /config/database/host。 常用选项 --prefix:删除指定前缀的所有键。etcdctl del /config/ --prefix2. Watch(监听) 2.1 监听键的变化 (watch)
用于监听键的变化。
命令格式 etcdctl watch <key> [选项] 示例 etcdctl watch /config/database/host 监听键 /config/database/host 的变化。 常用选项 --prefix:监听指定前缀的所有键。etcdctl watch /config/ --prefix3. Lease(租约) 3.1 创建租约 (lease grant)
用于创建一个租约。
命令格式 etcdctl lease grant <TTL> 示例 etcdctl lease grant 60 创建一个 TTL 为 60 秒的租约。 输出 lease 1234abcd granted with TTL(60s) 1234abcd 是租约 ID。3.2 绑定键到租约 (put --lease)
将键绑定到租约。
示例 etcdctl put /config/database/host localhost --lease=1234abcd 将键 /config/database/host 绑定到租约 1234abcd。3.3 续约 (lease keep-alive)
用于续约,防止租约过期。
命令格式 etcdctl lease keep-alive <lease_id> 示例 etcdctl lease keep-alive 1234abcd 续约租约 1234abcd。3.4 撤销租约 (lease revoke)
用于撤销租约,绑定的键会被删除。
命令格式 etcdctl lease revoke <lease_id> 示例 etcdctl lease revoke 1234abcd 撤销租约 1234abcd。4. Txn(事务) 4.1 执行事务 (txn)
用于执行事务操作。
命令格式 etcdctl txn [选项] 示例 也可以etcdctl txn -i 启动交互式命令行 etcdctl txn <<EOF compare: value("/config/database/host") = "localhost" success: put /config/database/host "127.0.0.1" failure: put /config/database/host "unknown" EOF 如果 /config/database/host 的值是 localhost,则将其改为 127.0.0.1,否则改为 unknown。5. 综合示例 5.1 设置键值对并绑定租约 # 创建租约 etcdctl lease grant 60 # 绑定键到租约 etcdctl put /config/database/host localhost --lease=1234abcd 5.2 监听键的变化 # 监听键 etcdctl watch /config/database/host 5.3 执行事务 # 事务操作 etcdctl txn <<EOF compare: value("/config/database/host") = "localhost" success: put /config/database/host "127.0.0.1" failure: put /config/database/host "unknown" EOF
6. 总结 功能命令用途示例KVput设置键值对etcdctl put /key valueget获取键值对etcdctl get /keydel删除键值对etcdctl del /keyWatchwatch监听键的变化etcdctl watch /keyLeaselease grant创建租约etcdctl lease grant 60put --lease绑定键到租约etcdctl put /key value --lease=1234abcdlease keep-alive续约etcdctl lease keep-alive 1234abcdlease revoke撤销租约etcdctl lease revoke 1234abcdTxntxn执行事务etcdctl txn <事务条件>
github /0voice
【etcd】etcd_APIs简单KV、watch、lease、txn命令由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【etcd】etcd_APIs简单KV、watch、lease、txn命令”
下一篇
数据结构:最小生成树