redis数据迁移
2021/7/13 19:06:38
本文主要是介绍redis数据迁移,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
通过启动单实例,写入测试命令然后将单实例的数据迁移到集群中去。
一:启动单实例并写入测试命令
systemctl start redis
for i in {1..100};do redis-cli set key_${i} v_${i} && echo "${i} is ok";done
二:查看集群中有多少个key,有的话先全部删除
redis-cli --cluster info 10.0.0.101:6380
redis-cli -h 10.0.0.101 -p 6380 flushall
redis-cli -h 10.0.0.102 -p 6380 flushall
redis-cli -h 10.0.0.103 -p 6380 flushall
redis-cli -h 10.0.0.101 -p 6390 flushall
redis-cli --cluster info 10.0.0.101:6380
#不加copy参数就相当于move,单节点数据迁移完后老数据就被删除了
redis-cli --cluster import 10.0.0.101:6380 --cluster-from 10.0.0.101:6379
redis-cli
redis-cli --cluster info 10.0.0.101:6380
#加了copy参数后相当于cp,单节点数据迁移完后老数据还会保留
redis-cli
MSET k111 v111 k222 v222 k333 v333 k444 v444
redis-cli --cluster import 10.0.0.101:6380 --cluster-from 10.0.0.101:6379 --cluster-copy
#添加replace参数,迁移时候会覆盖掉同名的数据,对集群新增加的数据不受影响
redis-cli
set k111 v11
redis-cli --cluster import 10.0.0.101:6380 --cluster-from 10.0.0.101:6379 --cluster-copy --cluster-replace
redis-cli -c -h 10.0.0.101 -p 6380
get k111
补充:多实例运维脚本
cat > redis_shell.sh << 'EOF'
#!/bin/bash
USAG(){
echo "sh $0 {start|stop|restart|login|ps|tail} PORT"
}
if [ "$#" = 1 ]
then
REDIS_PORT='6379'
elif
[ "$#" = 2 -a -z "$(echo "$2"|sed 's#[0-9]##g')" ]
then
REDIS_PORT="$2"
else
USAG
exit 0
fi
REDIS_IP=$(hostname -I|awk '{print $1}')
PATH_DIR=/opt/redis_${REDIS_PORT}/
PATH_CONF=/opt/redis_${REDIS_PORT}/conf/redis_${REDIS_PORT}.conf
PATH_LOG=/opt/redis_${REDIS_PORT}/logs/redis_${REDIS_PORT}.log
CMD_START(){
redis-server ${PATH_CONF}
}
CMD_SHUTDOWN(){
redis-cli -c -h ${REDIS_IP} -p ${REDIS_PORT} shutdown
}
CMD_LOGIN(){
redis-cli -c -h ${REDIS_IP} -p ${REDIS_PORT}
}
CMD_PS(){
ps -ef|grep redis
}
CMD_TAIL(){
tail -f ${PATH_LOG}
}
case $1 in
start)
CMD_START
CMD_PS
;;
stop)
CMD_SHUTDOWN
CMD_PS
;;
restart)
CMD_START
CMD_SHUTDOWN
CMD_PS
;;
login)
CMD_LOGIN
;;
ps)
CMD_PS
;;
tail)
CMD_TAIL
;;
*)
USAG
esac
EOF
这篇关于redis数据迁移的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07Redis高并发入门详解
- 2024-12-07Redis缓存入门:新手必读指南
- 2024-12-07Redis缓存入门:新手必读教程
- 2024-12-07Redis入门:新手必备的简单教程
- 2024-12-07Redis入门:新手必读的简单教程
- 2024-12-06Redis入门教程:从安装到基本操作
- 2024-12-06Redis缓存入门教程:轻松掌握缓存技巧
- 2024-12-04Redis入门:简单教程详解
- 2024-11-29Redis开发入门教程:从零开始学习Redis
- 2024-11-27Redis入门指南:快速掌握Redis基础操作