用xargs批量刪除Redis的keys的技巧

    以前有在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說了不少碉堡的數據結構和本身寫的算法,有時間必定去看看,馬克之方法

相關文章
相關標籤/搜索