【Azure Redis 缓存】Azure Cache for Redis 服务的导出RDB文件无法在自建的Redis服务中导入

问题描述

使用微软云的Redis服务,导出它的RDB文件后,想把数据恢复到本地自建的Redis服务中,发现出现如下错误:

15000:S 21 Jun 08:14:11.199 * Retrying with SYNC...
15000:S 21 Jun 08:14:11.201 # MASTER aborted replication with an error: ERR Command disallowed
15000:S 21 Jun 08:14:12.190 * Connecting to MASTER 40.139.62.182:6379
15000:S 21 Jun 08:14:12.190 * MASTER <-> SLAVE sync started
15000:S 21 Jun 08:14:12.193 * Non blocking connect for SYNC fired the event.
15000:S 21 Jun 08:14:12.196 * Master replied to PING, replication can continue...
15000:S 21 Jun 08:14:12.199 * (Non critical) Master does not understand REPLCONF listening-port: -ERR Command disallowed
15000:S 21 Jun 08:14:12.201 * (Non critical) Master does not understand REPLCONF capa: -ERR Command disallowed
15000:S 21 Jun 08:14:12.201 * Partial resynchronization not possible (no cached master)
15000:S 21 Jun 08:14:12.203 * Master does not support PSYNC or is in error state (reply: -ERR Command disallowed)
15000:S 21 Jun 08:14:12.203 * Retrying with SYNC...
15000:S 21 Jun 08:14:12.205 # MASTER aborted replication with an error: ERR Command disallowed
15000:S 21 Jun 08:14:13.193 - 0 clients connected (0 slaves), 721768 bytes in use
15000:S 21 Jun 08:14:13.193 * Connecting to MASTER 40.139.62.182:6379
15000:S 21 Jun 08:14:13.193 * MASTER <-> SLAVE sync started
15000:S 21 Jun 08:14:13.196 * Non blocking connect for SYNC fired the event.
15000:S 21 Jun 08:14:13.199 * Master replied to PING, replication can continue...
15000:S 21 Jun 08:14:13.203 * (Non critical) Master does not understand REPLCONF listening-port: -ERR Command disallowed
15000:S 21 Jun 08:14:13.204 * (Non critical) Master does not understand REPLCONF capa: -ERR Command disallowed
15000:S 21 Jun 08:14:13.204 * Partial resynchronization not possible (no cached master)
15000:S 21 Jun 08:14:13.206 * Master does not support PSYNC or is in error state (reply: -ERR Command disallowed)
15000:S 21 Jun 08:14:13.206 * Retrying with SYNC...
15000:S 21 Jun 08:14:13.208 # MASTER aborted replication with an error: ERR Command disallowed

问题解答

自建或从其他未经过特殊处理的Redis RDB文件,可以导入到Azure Redis服务中。但Azure Redis 导出的RDB文件会经过一些特殊处理,如适配Windows版Redis,导致它并不能直接导入本地的Redis中。所以遇见了以上错误。

如要进行转移数据,可以通过程序从Azure中读取所有的Redis Key 然后写入到本地自建的Redis服务中。

参考资料

以编程方式迁移:https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-migration-guide#migrate-programmatically

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

分类: 【Azure Redis 缓存】

标签: Azure Redis, Redis迁移到本地自建服务中

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容