【问题标题】:Why ETCD exist two same key?为什么 ETCD 存在两个相同的密钥?
【发布时间】:2021-11-18 23:48:54
【问题描述】:

我在 Golang 我的应用程序中使用 etcd 存储配置,运行了一段时间,我在 etcd 中发现了两个相同的键,这对我来说很好奇,etcd 中的 key 不是唯一的?

我使用etcdctl get --prefix / 获取密钥。

【问题讨论】:

    标签: etcd


    【解决方案1】:

    通过使用--prefix 选项,您向etcd 询问所有 一些文本开头的键(在您的情况下为/)。考虑这个例子:

    $ etcdctl put foo bar
    OK
    $ etcdctl put foofoo barbar
    OK
    $ etcdctl put baz baz
    OK
    $ etcdctl get foo
    foo
    bar
    $ etcdctl get --prefix foo
    foo
    bar
    foofoo
    barbar
    

    当您跳过 --prefix 部分时,您只会获得给定键的值(bar 用于键 foo),但是当您添加 --prefix 时,您将获得所有以 foo 开头的键的值

    【讨论】:

      【解决方案2】:

      问题是重复键包含一些特殊字符...

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 2012-08-02
      • 2017-12-13
      • 2011-04-14
      • 1970-01-01
      相关资源
      最近更新 更多