最近在维护一个用redis做缓存的项目时,遇到了产品需要不定时清除用户数据的需要,由于每次要清除的用户数据很多,每次手动删除的话比较繁琐,最后采用了批处理脚本的方式来执行清除的命令
- 首先将要执行的命令放在一个文本文件中一条命令一行,类似于这种,并命名为command.txt
zrem incr:cjapp1271:day:20150805 1237806859
zrem incr:cjapp1271:day:20150805 723652156
zrem incr:cjapp1271:day:20150805 841597167
zrem incr:cjapp1271:day:20150805 1048187667
zrem incr:cjapp1271:day:20150805 1091051751
zrem incr:cjapp1271:day:20150805 1264716668
zrem incr:cjapp1271:day:20150805 1264771960
zrem incr:cjapp1271:day:20150805 1264782549
zrem incr:cjapp1271:day:20150805 1264852503
zrem incr:cjapp1271:day:20150805 1264853578
zrem incr:cjapp1271:day:20150805 1264854083
2.然后编写脚本,命名为del.sh
#!/bin/sh
host=$1
port=$2
password=$3
cat command.txt | /usr/local/redis/bin/redis-cli -h $host -p $port -a $password --pipe
3.然后在redis所在的机器上执行 sh des.sh localhost 6379,这样就能快速的执行command.txt中的所有命令