shell中调用redis相关命令

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的对应关系!

  1. 删除redis key:##好东西 ,以前总想用循环实现了,怎么忘记这个了,呵呵
  2. [root@97-247nginx ~]# redis-cli -p 6379 keys zx_117:* | xargs redis-cli -p 6379 del
这个命令比for 循环快多了,在删除大量数据的时候千万不能使用for 循环,太慢了!

    A+
发布日期:2017年05月25日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: