etcd官方文档中文版
  • Introduction
  • 官方文档
    • 开发指南
      • 搭建本地集群
      • 和 etcd 交互
      • 核心 API 参考文档
      • 并发 API 参考文档
      • gRPC 网关
      • gRPC 命名和发现
      • 试验性的 API 和特性
      • 系统限制
    • 运维指南
      • 搭建 etcd 集群
        • 运行时重配置
        • 运行时重配置的设计
      • 搭建 etcd 网关
      • 在容器内运行 etcd 集群
      • 配置
      • gRPC代理(TBD)
      • L4 网关
      • 支持平台
      • 硬件推荐(TBD)
      • 性能评测
      • 调优(TBD)
      • 安全模式
      • 基于角色的访问控制(TBD)
      • 常见问题(TBD)
      • 监控(TBD)
      • 维护
      • 理解失败
      • 灾难恢复
      • 版本
    • 学习
      • 为什么是etcd
      • 理解数据模型
      • 理解API
      • 术语
      • API保证
      • 认证子系统(TBD)
  • 核心 API 参考文档
    • KV service
      • Range方法
      • Put方法
      • DeleteRange方法
      • Txn方法
      • Compact方法
    • Watch service
      • Watch方法
    • Lease service
      • LeaseGrant方法
      • LeaseRevoke方法
      • LeaseKeepAlive方法
      • LeaseTimeToLive方法
  • 并发 API 参考文档
    • Lock service
      • Lock方法
      • Unlock方法
    • Election service
      • Campaign方法
      • Proclaim方法
      • Leader方法
      • Observe方法
      • Resign方法
  • 全文标签总览
Powered by GitBook
On this page
  1. 核心 API 参考文档
  2. KV service

Put方法

Put 方法设置指定 key 到键值存储.

Put 方法增加键值存储的修订版本并在事件历史中生成一个事件.

rpc Put(PutRequest) returns (PutResponse) {}

消息体

请求的消息体是 PutRequest:

message PutRequest {
  // byte 数组形式的 key,用来保存到键值对存储
  bytes key = 1;

  // byte 数组形式的 value,在键值对存储中和 key 关联
  bytes value = 2;

  // 在键值存储中和 key 关联的租约id。0代表没有租约。
  int64 lease = 3;

  // 如果 prev_kv 被设置,etcd 获取改变之前的上一个键值对。
  // 上一个键值对将在 put 应答中被返回
  bool prev_kv = 4;

  // 如果 ignore_value 被设置, etcd 使用它当前的 value 更新 key.
  // 如果 key 不存在,返回错误.
  bool ignore_value = 5;

  // 如果 ignore_lease 被设置, etcd 使用它当前的租约更新 key.
  // 如果 key 不存在,返回错误.
  bool ignore_lease = 6;
}

应答的消息体是PutResponse:

message PutResponse {
  ResponseHeader header = 1;

  // 如果请求中的 prev_kv 被设置,将会返回上一个键值对
  mvccpb.KeyValue prev_kv = 2;
}
PreviousRange方法NextDeleteRange方法

Last updated 6 years ago