redis集群批量删除指定的key

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis集群批量删除指定的key相关的知识,希望对你有一定的参考价值。

1、说明

redis集群上有时候会需要删除多个key,就必须需要登录到每个节点上,而且有可能这个key不在这个节点,这样删除起来就比较麻烦,下面提供一种便捷方式可以实现


2、查看redis集群中的master节点

首先你要确认有哪几台master节点,可以用下面命令查看:

#./redis-cli  cluster nodes | grep master


技术分享图片

PS:在这里我有3台master主节点,端口都是6379


3、编写redis_del.sh脚本

#!/bin/bash

redis_comm=/usr/local/redis/bin/redis-cli

redis_ser01=172.18.18.107

redis_ser02=172.18.18.108

redis_ser03=172.18.18.109


$redis_comm -c -h $redis_ser01  keys $1 | xargs -i ./redis-cli -h $redis_ser01 del {}

$redis_comm -c -h $redis_ser02  keys $1 | xargs -i ./redis-cli -h $redis_ser02 del {}

$redis_comm -c -h $redis_ser03  keys $1 | xargs -i ./redis-cli -h $redis_ser03 del {}



4、使用redis_del.sh脚本

比如,我们现在有个需求,要删除redis集群以UP开头所有的key。

首先,我们先登录redis集群,查看一下:

技术分享图片


然后,使用redis_del.sh脚本删除:

# ./redis_del.sh  UP* 

技术分享图片

PS:如上图所示,UP开头的所有key都删除了

脚本用法:sh  redis_del.sh  key参数

例如,你要删除其它key值

./redis_del.sh  a*

./redis_del.sh  b*

./redis_del.sh  c*

......等等

以上是关于redis集群批量删除指定的key的主要内容,如果未能解决你的问题,请参考以下文章

对于redis的批量删除指定key,有没有好的方法

redis cluster集群批量删除中的key

如何批量删除redis中keys

Redis批量删除keys

批量删除Redis数据库中的Key

如何批量删除Redis数据库中的Key