FLUSHALL和FLUSHDB是单机命令,所以清空集群需要在所有Master节点上均执行一次。下载:https://github.com/eyjian/redis-tools/blob/master/clear_redis_cluster.sh

#!/bin/bash
# Batch to clear all nodes using FLUSHALL command
# 用来清空一个redis集群中的所有数据,要求 FLUSHALL 命令可用,
# 如果在 redis.conf 中使用 rename 改名了 FLUSHALL,则不能执行本脚本。
# 可带两个参数:
# 1)参数1 集群中的任一可用节点(必须)
# 2)连接redis的密码(设置了密码才需要)
REDIS_CLI=${REDIS_CLI:-redis-cli}
REDIS_IP=${REDIS_IP:-127.0.0.1}
REDIS_PORT=${REDIS_PORT:-6379}# 显示用法函数
function usage()
{echo "Usage: clear_redis_cluster.sh a_redis_node_of_cluster redis_password"echo "Example1: clear_redis_cluster.sh '127.0.0.1:6379'"echo "Example2: clear_redis_cluster.sh '127.0.0.1:6379' '123456'"
}# 检查参数个数
if test $# -lt 1 -o $# -gt 2; thenusageexit 1
fi# 第一个参数为集群中的节点,
REDIS_NODE="$1"
# 第二个参数为密码
REDIS_PASSWORD=""
if test $# -ge 2; thenREDIS_PASSWORD="$2"
fi# 取得IP和端口
eval $(echo "$REDIS_NODE" | awk -F[\:] '{ printf("REDIS_IP=%s\nREDIS_PORT=%s\n",$1,$2) }')
if test -z "$REDIS_IP" -o -z "$REDIS_PORT"; thenecho "Parameter error: \`$REDIS_NODE\`."usageexit 1
fi# 确保redis-cli可用
echo "Checking \`redis-cli\` ..."
which "$REDIS_CLI" > /dev/null 2>&1
if test $? -ne 0; thenecho "Command \`redis-cli\` is not exists or not executable."echo "You can set environment variable \`REDIS_CLI\` to point to the redis-cli."echo "Example: export REDIS_CLI=/usr/local/bin/redis-cli"exit 1
fiif test -z "$REDIS_PASSWORD"; thenredis_nodes=`redis-cli -h $REDIS_IP -p $REDIS_PORT cluster nodes | awk -F[\ \:\@] '!/ERR/{ printf("%s:%s\n",$2,$3); }'`
elseredis_nodes=`redis-cli --no-auth-warning -a "$REDIS_PASSWORD" -h $REDIS_IP -p $REDIS_PORT cluster nodes | awk -F[\ \:\@] '!/ERR/{ printf("%s:%s\n",$2,$3); }'`
fi
if test -z "$redis_nodes"; then# Standlone(非集群)if test -z "$REDIS_PASSWORD"; then$REDIS_CLI -h $REDIS_IP -p $REDIS_PORT FLUSHALL ASYNC$REDIS_CLI -h $REDIS_IP -p $REDIS_PORT BGREWRITEAOFelse$REDIS_CLI --no-auth-warning -a "$REDIS_PASSWORD" -h $REDIS_IP -p $REDIS_PORT FLUSHALL ASYNC$REDIS_CLI --no-auth-warning -a "$REDIS_PASSWORD" -h $REDIS_IP -p $REDIS_PORT BGREWRITEAOFfi
else# Cluster(集群)for redis_node in $redis_nodes;doif test ! -z "$redis_node"; theneval $(echo "$redis_node" | awk -F[\:] '{ printf("redis_node_ip=%s\nredis_node_port=%s\n",$1,$2) }')if test ! -z "$redis_node_ip" -a ! -z "$redis_node_port"; then# clearecho -e "Clearing \033[1;33m${redis_node_ip}:${redis_node_port}\033[m ..."if test -z "$REDIS_PASSWORD"; thenresult=`$REDIS_CLI -h $redis_node_ip -p $redis_node_port FLUSHALL ASYNC`$REDIS_CLI -h $redis_node_ip -p $redis_node_port BGREWRITEAOFelseresult=`$REDIS_CLI --no-auth-warning -a "$REDIS_PASSWORD" -h $redis_node_ip -p $redis_node_port FLUSHALL ASYNC`$REDIS_CLI --no-auth-warning -a "$REDIS_PASSWORD" -h $redis_node_ip -p $redis_node_port BGREWRITEAOFfiif test ! -z "$result"; then# SUCCESSif test "$result" = "OK"; thenecho -e "\033[0;32;32m$result\033[m"elseecho -e "\033[0;32;31m$result\033[m"fifififidone
fi

清空Redis集群数据工具相关推荐

  1. Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理工具

    Redis Desktop Manager – 个人认为是目前最好用的Redis可视化管理工具. redis可视化工具.Redis可视化管理工具.redis图形化管理工具.redis可视化客户端.re ...

  2. redis集群数据迁移方式、宕机

    数据迁移方式 转载:https://blog.csdn.net/tianpeng341204/article/details/78963850 Redis Cluster数据分片机制 基础概念 集群: ...

  3. Redis集群数据同步与选举

    一.Redis高可用集群结构 Redis高可用集群有两种,分别是主从哨兵模式和集群模式 1.主从哨兵模式 其中一台服务器作为master服务器,提供读写服务,配置多台从服务器,从服务器只提供只读服务, ...

  4. Redis Desktop Manager – Redis可视化管理工具、redis图形化管理工具、redis可视化客户端、redis集群管理

    Redis Desktop Manager – 个人认为是目前最好用的Redis可视化管理工具. redis可视化工具.Redis可视化管理工具.redis图形化管理工具.redis可视化客户端.re ...

  5. redis 集群 实操 (史上最全、5w字长文)

    文章很长,建议收藏起来慢慢读! 总目录 博客园版 为大家准备了更多的好文章!!!! 推荐:尼恩Java面试宝典(持续更新 + 史上最全 + 面试必备)具体详情,请点击此链接 尼恩Java面试宝典,34 ...

  6. 深入剖析Redis系列(三) - Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  7. Redis集群架构搭建详解

    一.简介 这其实是一种分布式数据库,就是通过分片的机制储存数据,cluster中的每个节点仅仅储存数据哭的一部分数据,本质上就是实现数据库分片. 这种集群是一种去中心化的集群,也就是说,集群中的每个节 ...

  8. LINUX安装REDIS集群

    linux安装单机版redis已经在另一篇文章说过了,下边来搞集群,环境是新浪云服务器: redis3.0以后开始支持集群. 前言:redis用什么做集群? 用一个叫redis-trib.rb的rub ...

  9. Redis 集群_主从复制_哨兵模型

    1 redis集群简介 1.1 集群的概念 所谓的集群,就是通过添加服务器的数量,提供相同的服务,从而让服务器达到一个稳定.高效的状态. 1.1.1 使用redis集群的必要性 问题:我们已经部署好了 ...

最新文章

  1. java出现404的原因是_为什么使用eclipse总是出现404
  2. 设备坐标与逻辑坐标关系
  3. Docker容器学习(一)
  4. hdu 5256 序列变换 (LIS变形)
  5. LeetCode 542. 01 矩阵(BFS DP)
  6. java定义一个方法,返回一个整数数组的元素平均值
  7. ORACLE中date类型字段的处理
  8. c语言case标号是连续的吗,在switch语句中,case后的标号只能是什么?_后端开发...
  9. 怎么样使element ui 的table某列变色
  10. js获取session_学习后端鉴权系列: 基于Cookie, Session认证
  11. solidity数据位置
  12. 实习成长之路:MySQL十三: count(*)这么慢,我该怎么办?为什么那么慢?
  13. android viewflipper 动态加载,Android开发之ViewFlipper自动播放图片功能实现方法示例...
  14. java adt教程_用Eclipse安装ADT插件搭建Android环境(图文)
  15. 微弱光信号检测MATLAB,微弱信号检测笔记(更新中... 2021年3月9日)
  16. 74.网络安全渗透测试—[SQL注入篇13]—[SQLSERVER+ASP-执行系统命令]
  17. 控制台基于Quartz.Net组件实现定时任务调度(一)
  18. 可编程中控 c 语言,LG-PGMIII可编程中控
  19. 解决别人在收到我们发送的*.md文档时,图片无法显示的问题。
  20. 搭建一个颜值超高的发卡网站

热门文章

  1. 如何一键拼图?不妨试试这三个一键拼图软件
  2. 前端开发面试问题及答案
  3. springboot+jsp线上饰品商城购物网站java
  4. mule seda 学习二
  5. 中国顶尖“黑客”团队:一半是历年高考状元
  6. 踩过一个FM24C64与FM24CL64的坑
  7. C#时间显示格式(12小时制VS24小时制)
  8. 在wps中实现二级联动
  9. Java用20行代码实现抖音小视频批量转换为gif动态图【值得收藏】
  10. About Refactoring