【etcd】etcd_APIs 简单KV、watch、lease、txn命令

etcd API 概览

etcd API 主要分为以下几类:

API作用
KV处理键值对的存取(PutGetDelete
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=1234abcd
    

1.2 获取键值对 (get)

用于获取键的值。

命令格式
etcdctl get <key> [选项]
示例
etcdctl get /config/database/host
  • 获取键 /config/database/host 的值。
常用选项
  • --prefix:获取指定前缀的所有键。
    etcdctl get /config/ --prefix
    
  • --limit:限制返回的键值对数量。
    etcdctl get /config/ --prefix --limit=2
    

1.3 删除键值对 (del)

用于删除键值对。

命令格式
etcdctl del <key> [选项]
示例
etcdctl del /config/database/host
  • 删除键 /config/database/host
常用选项
  • --prefix:删除指定前缀的所有键。
    etcdctl del /config/ --prefix
    

2. Watch(监听)

2.1 监听键的变化 (watch)

用于监听键的变化。

命令格式
etcdctl watch <key> [选项]
示例
etcdctl watch /config/database/host
  • 监听键 /config/database/host 的变化。
常用选项
  • --prefix:监听指定前缀的所有键。
    etcdctl watch /config/ --prefix
    

3. 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 value
get获取键值对etcdctl get /key
del删除键值对etcdctl del /key
Watchwatch监听键的变化etcdctl watch /key
Leaselease grant创建租约etcdctl lease grant 60
put --lease绑定键到租约etcdctl put /key value --lease=1234abcd
lease keep-alive续约etcdctl lease keep-alive 1234abcd
lease revoke撤销租约etcdctl lease revoke 1234abcd
Txntxn执行事务etcdctl txn <事务条件>

https://github.com/0voice

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/971065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

多模态本地部署ConVideoX-5B模型文生视频

文章目录 一、多模态概念1.多模态学习2. 人机交互3. 健康医疗4. 内容创作和娱乐 二、模型介绍三、环境安装1. 安装工具包2. 模型下载 四、运行代码五、代码解析六、效果生成七. 总结1. 模型介绍2. 部署环境3. 部署步骤4. 生成视频5. 应用场景 一、多模态概念 多模态&#xff0…

关于post和get的请求参数问题

今天在和泓宇交流的时候&#xff0c;谈到了关于postman测试接口的问题。我昨天在postman测试的时候&#xff0c;对于条件查询不知道怎么测试&#xff0c;脑子里很混乱。今天&#xff0c;泓宇借着条件查询这个机会给我讲了讲get和post的请求参数的知识&#xff0c;趁着现在有记忆…

分布式光纤传感:为生活编织“感知密网”

分布式光纤测温技术虽以工业场景为核心&#xff0c;但其衍生的安全效益已逐步渗透至日常生活。 分布式光纤测温技术&#xff08;DTS&#xff09;作为一种先进的线型温度监测手段&#xff0c;近年来在多个领域展现了其独特的优势。虽然其核心应用场景主要集中在工业、能源和基础…

ICLR2022 | SETR | 提高视觉Transformers的对抗迁移性

On Improving Adversarial Transferability Of Vision Transformers 摘要-Abstract引言-Introduction背景和相关工作-Background And Related Work增强ViTs的对抗迁移能力-Enhancing Adversarial Transferability Of ViTs实验-Experiments结论-Conclusion 论文链接 本文 “On …

Python的那些事第二十三篇:Express(Node.js)与 Python:一场跨语言的浪漫邂逅

摘要 在当今的编程世界里,Node.js 和 Python 像是两个性格迥异的超级英雄,一个以速度和灵活性著称,另一个则以强大和优雅闻名。本文将探讨如何通过 Express 框架将 Node.js 和 Python 结合起来,打造出一个高效、有趣的 Web 应用。我们将通过一系列幽默风趣的实例和表格,展…

学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统

这应该算 stm32裸机用户 转 linux嵌入式系统 的入门学习笔记。 【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili 本集的鲁班猫的视频介绍中&#xff0c;没有清晰明确指出需要linux开发板接入网络&#xff0c;接入网络可以使用有线网口或者wifi路由&#xff0c;有些提示…

基于SSM安居房地产房屋销售系统数据库源代码

源代码数据库LW文档&#xff08;1万字以上&#xff09;开题报告答辩稿 部署教程代码讲解代码时间修改教程 一、开发工具、运行环境、开发技术 开发工具 1、操作系统&#xff1a;Window操作系统 2、开发工具&#xff1a;IntelliJ IDEA或者Eclipse 3、数据库存储&#xff1a…

CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测,光伏功率预测

代码地址&#xff1a;CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测&#xff0c;光伏功率预测 CNN-LSSVM卷积神经网络最小二乘支持向量机多变量多步预测&#xff0c;光伏功率预测 一、引言 1、研究背景和意义 光伏发电作为可再生能源的重要组成部分&#xff0c;近…

uniapp二次封装组件(py组件)

1.前言 根据自己的使用情况&#xff0c;为了提高开发效率&#xff0c;对已有组件进行了二次封装&#xff0c;文章中二次封装的组件简称为py组件。有些element-ui中表单组件&#xff08;Form&#xff09;想在uniapp中进行使用&#xff0c;py组件封装了一些实现起来比较复杂的组…

MySQL智障离谱问题,删了库确还存在、也不能再创建同名库

1、问题 今天跟后端朋友接毕设单子的时候&#xff0c;后端穿过来的【weather.sql】这个文件没弄好&#xff0c;导致这个【weather】数据库的数据是错的&#xff0c;因此我用datagrip的GUI界面直接右键删除&#xff0c;结果就是tmd删不掉&#xff0c;ok&#xff0c;我只能在那新…

【区块链】零知识证明基础概念详解

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 零知识证明基础概念详解引言1. 零知识证明的定义与特性1.1 基本定义1.2 三个核心…

Vript-Hard——一个基于高分辨率和详细字幕的视频理解算法

一、概述 多模态学习的最新进展促进了对视频理解和生成模型的研究。随之而来的是&#xff0c;对高分辨率视频和详细说明所建立的高质量数据集的需求激增。然而&#xff0c;由于时间因素的影响&#xff0c;视频与文本的配对不像图像那样容易。准备视频和文本配对是一项困难得多…

如何通过AI让PPT制作更轻松:从AI生成PPT到一键智能生成

如何通过AI让PPT制作更轻松&#xff1a;从AI生成PPT到一键智能生成&#xff01;在这个信息爆炸的时代&#xff0c;PPT几乎成了每个人办公必备的工具。但说到制作PPT&#xff0c;很多人头疼不已——排版、设计、内容的整理&#xff0c;时间一不小心就被浪费掉了。有没有一种方法…

Docker拉不下来镜像问题解决法案

打开docker的设置界面 配置如下&#xff1a; vi /etc/docker/daemon.json {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["…

数据守护者:备份文件的重要性及自动化备份实践

在信息化社会&#xff0c;数据已成为企业运营和个人生活的重要组成部分。无论是企业的核心业务数据&#xff0c;还是个人的珍贵照片、重要文档&#xff0c;数据的丢失或损坏都可能带来无法估量的损失。因此&#xff0c;备份文件的重要性愈发凸显&#xff0c;它不仅是数据安全的…

分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现

分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现 目录 分类预测 | MFO-LSSVM飞蛾扑火算法优化最小二乘支持向量机多特征分类预测Matlab实现分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现MFO-LSSVM飞蛾扑火算法优化最小二…

2025 docker可视化管理面板DPanel的安装

1.什么是 DPanel &#xff1f; DPanel 是一款 Docker 可视化管理面板&#xff0c;旨在简化 Docker 容器、镜像和文件的管理。它提供了一系列功能&#xff0c;使用户能够更轻松地管理和部署 Docker 环境。 软件特点&#xff1a; 可视化管理&#xff1a;提供直观的用户界面&#…

游戏引擎学习第106天

仓库:https://gitee.com/mrxiao_com/2d_game_2 回顾我们当前的情况 编写一个完整的游戏&#xff0c;没有使用任何库或引擎&#xff0c;完全依靠传统的编程方式进行开发。目前&#xff0c;我们已经完成了渲染、实体存储等很多基础工作&#xff0c;接下来可能会开始做一些性能优…

如何正确安装Stable Diffusion Web UI以及对应的xFormers

本文是我总结的步骤&#xff0c;验证了几次保证是对的。因为正确的安装 Stable Diffusion Web UI 以及对应的 xFormers 实在是太麻烦了&#xff0c;官方和网上的步骤都是残缺和分散的&#xff0c;加上国内网络速度不理想&#xff0c;所以需要一些额外步骤&#xff0c;之前研究出…

ROS学习

1.ROS工作空间 存放项目开发相关文件的文件夹&#xff1b; src:代码空间&#xff08;Source Space&#xff09;install:安装空间&#xff08;Install Space&#xff09;build:编译空间&#xff08;Build Space&#xff09;log:日志空间&#xff08;Log Space&#xff09; 2.c…