|
|
第1行: |
第1行: |
− | [[category:ops]] [[category:redis]]
| + | == |
| | | |
− | [[Redis-bigkeys]]
| + | =nc is netcat= |
| | | |
− | ulink
| |
− | [https://cloud.tencent.com/developer/article/1530197 Redis 高效删除大key]
| |
− | =redis cluster 批量删除key=
| |
− | <pre>
| |
− | #June 19 2020 有空结果一下原来的版本再优化一下
| |
− | cat redis_del_key.sh
| |
− | #!/bin/bash
| |
− | # Usage
| |
− | #redis_list=("host:post" "host:post")
| |
| | | |
− | redis_list=( "172.16.200.12:7003" "172.16.200.7:7004" "172.16.200.7:7005" "172.16.200.13:7000" "172.16.200.13:7001" "172.16.200.12:7002")
| + | =nc is ncat= |
− | #redis_list=( "172.16.200.13:7000" "172.16.200.13:7001" "172.16.200.12:7002")
| |
− | #redis_list=("172.16.200.7:7004")
| |
− | password="3636password"
| |
| | | |
− | for info in ${redis_list[@]}
| |
− | do
| |
− | echo "开始执行:$info"
| |
− | ip=`echo $info | cut -d : -f 1`
| |
− | port=`echo $info | cut -d : -f 2`
| |
− |
| |
− | for loop in `cat key.txt`
| |
− | do
| |
− | #echo $loop |xargs -t -n1 redis-cli -c -h $ip -p $port -a $password -c del
| |
− | echo $loop |xargs -t -n1 redis-cli -c -h $ip -p $port -a $password -c keys
| |
− | done
| |
− |
| |
− | done
| |
− | echo "success done完成"
| |
− |
| |
− | # cat key.txt
| |
− | infnce:wonderfulCache
| |
− | ext_info
| |
− |
| |
− |
| |
− |
| |
− | #原来的版本
| |
− |
| |
− | del hello_user_*
| |
− |
| |
− | redis-cli keys
| |
− |
| |
− |
| |
− | redis-cli keys "hello_user_*" | xargs redis-cli del
| |
− |
| |
− |
| |
− | ./redis-cli -h IP -p PORT -a PASSWORD keys 'key*' | xargs ./redis-cli -h IP -p PORT -a PASSWORD del
| |
− |
| |
− | redis-cli -c -h 172.31.22.218 -p 7000 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.22.218 -p 7000 -a pass del {}
| |
− | redis-cli -c -h 172.31.22.218 -p 7001 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.22.218 -p 7001 -a pass del {}
| |
− |
| |
− | redis-cli -c -h 172.31.16.135 -p 7002 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.16.135 -p 7002 -a pass del {}
| |
− | redis-cli -c -h 172.31.16.135 -p 7003 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.16.135 -p 7003 -a pass del {}
| |
− |
| |
− | redis-cli -c -h 172.31.23.43 -p 7004 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.23.43 -p 7004 -a pass del {}
| |
− | redis-cli -c -h 172.31.23.43 -p 7005 -a pass keys 'hello_user_*'| xargs -i redis-cli -c -h 172.31.23.43 -p 7005 -a pass del {}
| |
− |
| |
− |
| |
− |
| |
− | #!/bin/bash
| |
− | redis_comm=/usr/local/redis-5.0.3/bin/redis-cli
| |
− | redis_ser01=192.168.50.175
| |
− | redis_ser02=192.168.50.174
| |
− | $redis_comm -c -h $redis_ser01 -p 7001 -a xxx keys $1 | xargs -i $redis_comm -c -h $redis_ser01 -p 7001 -a xxx del {}
| |
− | $redis_comm -c -h $redis_ser02 -p 7001 -a xxx keys $1 | xargs -i $redis_comm -c -h $redis_ser02 -p 7001 -a xxx del {}
| |
− |
| |
− | 运行:
| |
− |
| |
− | ./redis_del_key.sh 匹配的key*
| |
− |
| |
− | err
| |
− |
| |
− | -i {} 都是一定要的
| |
− |
| |
− | redis-cli -n 0 keys "test*" | xargs redis-cli -n 0 del
| |
− | (error) CROSSSLOT Keys in request don't hash to the same slot
| |
− |
| |
− | </pre>
| |
− |
| |
− | =del相关=
| |
− |
| |
− | 命令和DEL十分相似:删除指定的key(s),若key不存在则该key被跳过。但是,相比DEL会产生阻塞,该命令会在另一个线程中回收内存,因此它是非阻塞的。 这也是该命令名字的由来:仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
| |
− | http://www.redis.cn/commands/unlink.html
| |
− |
| |
− |
| |
− | [https://www.zybuluo.com/phper/note/609318 redis 中pipline,mset, mget使用对比]
| |
− |
| |
− | [https://blog.csdn.net/wojiuguowei/article/details/85096609 redis del与unlink命令用法及实现]
| |
− |
| |
− | [https://yq.aliyun.com/articles/743207 Redis:del/unlink 命令源码解析]
| |
− |
| |
− | [https://www.cnblogs.com/kiko2014551511/p/11531584.html Redis批量删除key的命令]
| |
| | | |
| =see also= | | =see also= |
− | [https://blog.csdn.net/xujiamin0022016/article/details/103020025?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase 如何优雅地删除Redis大键]
| |
− |
| |
− | [https://blog.csdn.net/yangyangye/article/details/100523387 redis集群批量删除模糊key shell脚本]
| |
− |
| |
− | [https://blog.csdn.net/yangyangye/article/details/100523387 redis集群批量删除模糊key shell脚本]
| |
− |
| |
− | [https://www.cnblogs.com/feng0520/p/11067025.html redis cluster集群批量删除中的key]
| |
− |
| |
− | [https://my.oschina.net/u/1255588/blog/1563672 Redis集群批量删除key]
| |
− |
| |
− | [https://www.cnblogs.com/0201zcr/p/9647787.html redis批量删除key 远程批量删除key ]
| |
| | | |
− | [https://blog.csdn.net/zj20142213/article/details/80879744 redis集群批量删除指定的key] | + | [https://blog.csdn.net/wang7dao/article/details/7684998 Linux nc命令详解] |
| | | |
− | https://blog.csdn.net/qq_36090419/article/details/80537684 | + | https://blog.csdn.net/freeking101/article/details/53289198?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.nonecase |
| | | |
− | [https://www.cnblogs.com/DreamDrive/p/5772198.html Redis中的批量删除数据库中的Key ] | + | [[category:shell]] [[category:ops]] |