DeleteRange 方法

DeleteRange 方法从键值存储中删除给定范围。

删除请求增加键值存储的修订版本,并在事件历史中为每个被删除的 key 生成一个删除事件.

  1. rpc DeleteRange(DeleteRangeRequest) returns (DeleteRangeResponse)

消息体

请求的消息体是 DeleteRangeRequest

  1. message DeleteRangeRequest {
  2. // key是要删除的范围的第一个key
  3. bytes key = 1;
  4. // range_end 是要删除范围[key, range_end)的最后一个key
  5. // 如果 range_end 没有给定,范围定义为仅包含 key 参数
  6. // 如果 range_end 比给定的 key 大1,则 range 是以给定 key 为前缀的所有 key
  7. // 如果 range_end 是 '\0', 范围是所有大于等于参数 key 的所有 key。
  8. bytes range_end = 2;
  9. // 如果 prev_kv 被设置,etcd获取删除之前的上一个键值对。
  10. // 上一个键值对将在 delete 应答中被返回
  11. bool prev_kv = 3;
  12. }

应答的消息体是 DeleteRangeResponse

  1. message DeleteRangeResponse {
  2. ResponseHeader header = 1;
  3. // 被范围删除请求删除的 key 的数量
  4. int64 deleted = 2;
  5. // 如果请求中的 prev_kv 被设置,将会返回上一个键值对
  6. repeated mvccpb.KeyValue prev_kvs = 3;
  7. }