http://blog.chinaunix.net/uid-20776139-id-4868256.html
##场景,研发同事要帮忙提供redis某个库中的所有key和value的对应关系,一个db中
key有好多,手动来肯定会哭的!想到脚本了!
shell下查看Reids的db10中所有key和value的对应:
[root@redis-200 ~]# cat a.sh
#!/bin/sh
/usr/local/bin/redis-cli -p 9756 <
select 11
keys *
EOF ###shell中调用redis相关命令
[root@redis-200 ~]# cat c.sh
#!/bin/sh
for var in `cat 11.txt` ##我将key写到11.txt文件里面了!
do
./d.sh $var | grep -v "OK" > single.txt
echo -e "$var;\c" >> all.txt
echo -e "`cat single.txt`" >>all.txt
done
[root@redis-200 ~]# cat d.sh
#!/bin/sh
var=$1
/usr/local/bin/redis-cli -p 9756 << EOF
select 11
smembers $var #写脚本前,我已经从研发那里知道key的类型!
EOF
c.sh中调用d.sh即可获取key和value的对应关系!
key有好多,手动来肯定会哭的!想到脚本了!
shell下查看Reids的db10中所有key和value的对应:
[root@redis-200 ~]# cat a.sh
#!/bin/sh
/usr/local/bin/redis-cli -p 9756 <
keys *
EOF ###shell中调用redis相关命令
[root@redis-200 ~]# cat c.sh
#!/bin/sh
for var in `cat 11.txt` ##我将key写到11.txt文件里面了!
do
./d.sh $var | grep -v "OK" > single.txt
echo -e "$var;\c" >> all.txt
echo -e "`cat single.txt`" >>all.txt
done
[root@redis-200 ~]# cat d.sh
#!/bin/sh
var=$1
/usr/local/bin/redis-cli -p 9756 << EOF
select 11
smembers $var #写脚本前,我已经从研发那里知道key的类型!
EOF
c.sh中调用d.sh即可获取key和value的对应关系!
- 删除redis key:##好东西 ,以前总想用循环实现了,怎么忘记这个了,呵呵
- [root@97-247nginx ~]# redis-cli -p 6379 keys zx_117:* | xargs redis-cli -p 6379 del
这个命令比for 循环快多了,在删除大量数据的时候千万不能使用for 循环,太慢了!