以前有在find命令的时候说到xargs的妙用,能够经过它去批量复制或删除find命令找到文件。今天在用redis的时候搞了好一些没用的keys,要把删掉的时候尴尬了,redis并无提供批量删除的方法,甚至找个GUI也只给看不给碰的。。。redis
因而,查了点儿套路。算法
因为redis-cli后面能够直接接redis命令在控制台输出,xargs就能够直接用上了。数据结构
因为redis的keys命令支持通配符而del命令不支持,使用redis-cli keys "*"能够获得全部redis里面的key,所有命令以下源码
redis-cli keys "*" | xargs redis-cli del效率
这条命令便会删除全部键,而实际应用中会须要删掉某一命名空间里的keys,这里通配符"*"改为合适的命名便可,相似"(命名空间的名字)*"cli
对命名空间提一下,redis的name主要做用是相似一堆key的前缀,貌似是一种很牛逼的方式将同一name下的key压缩存储,大大增强了效率,一般name会用hset("(key的名字):(某个序列号)",key,value)来存储冒号没有实际意义但公认把放到一个地方(不是真在redis里多个冒号前面的命名的文件夹,仅为了视觉便利),GUI里就会这样显示命名空间
尚未细看源码,不过听leader说了不少碉堡的数据结构和本身写的算法,有时间必定去看看,马克之方法