使用shell批量删除redis中数据

先准备好一些不活跃用户的userId数据,作为一个文件,读入这个文件

#!/bin/bash
users=`cat not_active_user`
for user in $users; do
  redis-cli -h redis服务ip  -a redis服务密码 keys  messages:box:$user-0 |xargs redis-cli -h redis服务ip -a redis服务密码 del
done

读入准备好的not_active_user文件,not_active_user文件中一行代表一个要删除的用户id,根据id组装成要删除的key,登录redis进行删除。

这里使用了xargs,这是redis中的管道命令。

由于redis的del命令不运行正则表达式,所以可以如下删除
redis 批量删除命令:keys * | xargs redis_cli del

 

往redis的list数据结构中添加数据:

#!/bin/bash
if [ $1 == "demo" ];then
  redis-cli -h 你的redis域名 -p 6379 -n 1 lpush YOU_ZAN_GOODS_WHITE_LIST $2
elif [ $1 == "load" ];then
  redis-cli -h 你的redis域名 -p 6379 -a 你的密码 -n 1 lpush YOU_ZAN_GOODS_WHITE_LIST $2
elif [ $1 == "online" ];then
  redis-cli -h 你的redis域名 -p 6379 -a 你的密码 -n 1 lpush YOU_ZAN_GOODS_WHITE_LIST $2
else
  echo "输入有误"
fi

这里连接的是1号库,所以是:-n 1,默认是0号库

将redis的list数据结构的数据删除:

#!/bin/bash
if [ $1 == "demo" ];then
  redis-cli -h 你的redis域名 -p 6379 -n 1 lrem YOU_ZAN_GOODS_WHITE_LIST 0 $2
elif [ $1 == "load" ];then
  redis-cli -h 你的redis域名 -p 6379 -a 你的redis密码 -n 1 lrem YOU_ZAN_GOODS_WHITE_LIST 0 $2
elif [ $1 == "online" ];then
  redis-cli -h 你的redis域名 -p 6379 -a 你的redis密码 -n 1 lrem YOU_ZAN_GOODS_WHITE_LIST 0 $2
else
  echo "输入有误"
fi

关于redis管道命令可以看这篇文档:

https://blog.csdn.net/oChangWen/article/details/70229666

关于redis登录相关可以看这篇文档:

https://www.cnblogs.com/kongzhongqijing/p/6867960.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值