【问题标题】:Redis: BUSYKEY Target key name already existsRedis:BUSYKEY 目标键名已经存在
【发布时间】:2020-01-24 18:32:40
【问题描述】:

我正在尝试将一组特定的密钥从 Redis 实例 (v4.0.1) 复制到另一个实例 (v5.0.5)。为此,我使用带有COPY 选项的MIGRATE 命令:

migrate <ip-address of dest redis> 6379 "" 0 5000 COPY KEYS key_1 key_2 key_3

大约有 500 个键,其中一些键可能会重复,而有些键甚至不存在于源中。

我收到以下错误:

(error) ERR 目标实例回复错误:BUSYKEY 目标键 名称已存在。

在目标实例上,我得到了一些密钥。这是一个可以忽略的错误吗?我可以确定所有现有的密钥都被迁移了吗?

【问题讨论】:

    标签: redis


    【解决方案1】:

    MIGRATE 命令内部使用DUMP 生成键值的序列化版本,并使用RESTORE 来合成目标实例中的键。 当在 RESTORE 命令中密钥已经存在时,就会发生该错误。如果要替换目标实例上的现有键,则应使用 REPLACE 可选参数。请在此处修改完整的可选参数。 https://redis.io/commands/migrate#options

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-12
      • 2023-01-12
      • 2021-01-15
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      • 1970-01-01
      • 2013-10-28
      相关资源
      最近更新 更多