批量在线迁移redis —— 筑梦之路

发布时间:2024年01月02日

废话不多说,直接上脚本

#!/bin/bash
redis-cli -h host1 -p 63791 -n 0 keys "*" | while read key
do
redis-cli -h host1 -p 63791 -n 0 --raw dump $key | perl -pe 'chomp if eof' | redis-cli -h host2 -p 6379 -n 0 -x restore $key 0
echo "migrate key $key"
done
  • 使用redis-cli连接到host1服务器,n代表database,执行keys "*"命令获取所有键名。

  • 使用while read key循环读取每个键名。

  • 对于每个键名,使用redis-cli连接到host1服务器,执行dump命令将键值序列化输出。

  • 使用perl -pe 'chomp if eof'命令处理输出结果,去除换行符。

  • 使用redis-cli连接到host2服务器,执行restore命令将键值恢复到host2服务器,ttl=0代表永不过期。

  • 输出迁移的键名。?

文章来源:https://blog.csdn.net/qq_34777982/article/details/135341502
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。