场景:将用户和商户的支付宝和微信当日限额的额度累加放到redis中,时间当日失效,因为测试要删除所有的当日限额的数据

1.查看redis的安装目录

ps -ef|grep redis

redis 客户端模糊删除key redis模糊删除命令_redis

2.进入redis-server的目录下,如图,执行下面的命令

cd /data/web/redis/src
ls

3.执行完会发现有redis-cli和redis-server,此时创建redis_del.sh脚本文件

touch redis_del.sh

4.编辑redis_del.sh文件

vim redis_del.sh

5.按i进入编辑模式,根据自己redis填写信息,我的脚本如下(对应你的改下值就可以了):

#!/bin/sh
redis_common=/data/web/redis/src/redis-cli
redis_server=20.200.54.230
cluster_port01=7001
cluster_port02=7002
cluster_port03=7003
cluster_port04=7004
cluster_port05=7005
cluster_port06=7006


$redis_common -c -h $redis_server -p $cluster_port01 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port01 del {}
$redis_common -c -h $redis_server -p $cluster_port02 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port02 del {}
$redis_common -c -h $redis_server -p $cluster_port03 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port03 del {}
$redis_common -c -h $redis_server -p $cluster_port04 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port04 del {}
$redis_common -c -h $redis_server -p $cluster_port05 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port05 del {}
$redis_common -c -h $redis_server -p $cluster_port06 keys $1 | xargs -i ./redis-cli -h $redis_server -p $cluster_port06 del {}

6.esc退出编辑模式,按shift+z+z保存或者:wq!保存,然后解释一下内容吧

#!/bin/sh    这是放在第一行必须有的,#!/bin/bash也可以
redis_common:redis-cli的路径,可以用pwd命令查看路径,但是最后放上redis-cli
redis_server:服务器的ip
cluster_port01——cluster_port06:redis集群的6个端口,我的是7001——7006

-c:启动集群模式,进入集群服务

-h:后面加服务器主机的ip

-p:后边加对应-h服务器主机的端口号

$1:相当于你对应要删除key的一个占位符

xargs -i: -i 选项告诉 xargs 可以使用{}代替传递过来的参数

del:就是删除的命令啦

7.例子:想要删除以user.max.alipay为首的key,可以执行下面的命令

./redis_del.sh user.max.alipay*

8.有对应的key就会显示

(integer)1

 

9.以上希望可以帮到很多人,如果有问题希望帮我指出,万分感谢!!!