Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败
当源实例是Cluster集群,且使用了内置key且跨slot的Lua脚本,迁移到DCS集群实例失败时,可以将目标端改为主备或读写分离实例。
在Cluster集群扩缩容、slot迁移等slot分布会发生变化的场景,内置key且跨slot的Lua脚本可能执行报错。因此,不建议Cluster集群实例使用内置key且跨slot的Lua脚本。
![](https://support.huaweicloud.com/dcs_faq/public_sys-resources/note_3.0-zh-cn.png)
- 内置key:将Key写入lua脚本中,不作为参数传入。
- 跨slot:Lua脚本中涉及的所有slot属于一个分片。
问题现象
源实例是Cluster集群,且使用了内置key且跨slot的Lua脚本,迁移到DCS集群实例中时,可能会导致在线/备份导入迁移失败。
解决方案
迁移的目标端实例选择主备或读写分离实例。
问题建议
不建议Cluster集群实例使用内置key且跨slot的Lua脚本。
![](https://support.huaweicloud.com/dcs_faq/public_sys-resources/note_3.0-zh-cn.png)
- Cluster集群实例支持内置key且跨slot的Lua脚本:
- 内置key:将Key写入lua脚本中,不作为参数传入。
- 跨slot:Lua脚本中涉及的所有slot属于一个分片。
- 在Cluster集群扩缩容、slot迁移等slot分布会发生变化的场景,内置key且跨slot的Lua脚本可能执行报错。
数据备份/导出/迁移 所有常见问题
- DCS实例是否兼容低版本Redis迁移到高版本
- 不同类型的操作系统间进行数据传递和操作,需要注意什么?
- 源Redis使用了多DB,能否迁移数据到集群实例?
- 源Redis迁移到集群实例中有哪些限制和注意事项?
- 在线迁移需要注意哪些?
- 在线迁移能否做到完全不中断业务?
- 在线迁移实例源端报“Disconnecting timedout slave”和“overcoming of output buffer limits”
- 如何导出Redis实例数据?
- 使用Rump工具迁移数据,命令执行后无报错,但Redis容量无变化
- 是否支持控制台导出RDB格式的Redis备份文件?
- 缓存实例备份文件如何存放?备份文件的数量是否有限制?
- Redis在线数据迁移是迁移整个实例数据么?
- AOF文件在什么情况下会被重写
- Redis迁移失败有哪些常见原因?
- 一个数据迁移能迁移到多个目标实例么?
- 怎么放通SYNC和PSYNC命令?
- 迁移或导入备份数据时,相同的Key会被覆盖吗?
- Cluster集群实例使用内置key且跨slot的Lua脚本时迁移失败
- 迁移故障处理
- 数据迁移失败问题排查
- Memcached如何迁移?
- 是否支持Memcached和Redis之间实例数据的迁移?
more