redis关键字删除_Redis批量删除key的小技巧
一、使用keys+xargs實(shí)現(xiàn)
開(kāi)始實(shí)戰(zhàn)
1.連接redis,初始數(shù)據(jù)./redis-cli?-h?127.0.0.1?-p?6379127.0.0.1:6379>?set?java_suisui_1?1OK127.0.0.1:6379>?set?java_suisui_2?2OK127.0.0.1:6379>?set?java_suisui_3?3OK127.0.0.1:6379>?set?java_suisui_4?4OK
2.使用keys命令查看數(shù)據(jù)127.0.0.1:6379>?keys?java_suisui_*1)?"java_suisui_1"2)?"java_suisui_2"3)?"java_suisui_3"4)?"java_suisui_4"
3.退出redis的客戶(hù)端127.0.0.1:6379>?exit
4.使用keys+xargs批量刪除[root@node1?src]#?./redis-cli?-h?127.0.0.1?-p?6379?keys?"java_suisui*"?|?xargs?./redis-cli?-h?127.0.0.1?-p?6379?del(integer)?4
執(zhí)行上述命令后4條記錄全部刪除。
5.注意事項(xiàng)
redis是單線程架構(gòu),如果redis包含了大量的鍵,執(zhí)行keys命令可能會(huì)造成redis阻塞,所以一般建議不要在生產(chǎn)環(huán)境下使用keys命令。如果非要遍歷鍵刪除的話,可以在以下三種情況使用:(1).在一個(gè)不對(duì)外提供服務(wù)的Redis從節(jié)點(diǎn)上執(zhí)行,這樣不會(huì)阻塞到客戶(hù)端的請(qǐng)求,但是會(huì)影響到主從復(fù)制。(2).如果確認(rèn)鍵值總數(shù)確實(shí)比較少,可以執(zhí)行該命令。(3).使用scan命令漸進(jìn)式的遍歷所有鍵,可以有效防止阻塞。
二、使用scan+xargs實(shí)現(xiàn)
開(kāi)始實(shí)戰(zhàn),前三個(gè)步驟和上面一樣,不再重復(fù)記錄。
1.使用scan+xargs批量刪除[root@node1?src]#?./redis-cli?-h?127.0.0.1?-p?6379?--scan?--pattern?'java*'?|?xargs?./redis-cli?-h?127.0.0.1?-p?6379?del(integer)?4
執(zhí)行上述命令后4條記錄全部刪除。
三、xargs命令介紹
xargs 可以將管道或標(biāo)準(zhǔn)輸入(stdin)數(shù)據(jù)轉(zhuǎn)換成命令行參數(shù),也能夠從文件的輸出中讀取數(shù)據(jù)。xargs 是一個(gè)強(qiáng)有力的命令,它能夠捕獲一個(gè)命令的輸出,然后傳遞給另外一個(gè)命令。./redis-cli?-h?127.0.0.1?-p?6379?keys?"java_suisui*"?|?xargs?./redis-cli?-h?127.0.0.1?-p?6379?del
上述命令解釋:就是用keys java_suisui*查詢(xún)出所有匹配的key,通過(guò)xargs命令,將前面查詢(xún)出來(lái)的key作為后面redis的del命令的輸入,這樣就可以實(shí)現(xiàn)redis批量刪除鍵了。
總結(jié)
以上是生活随笔為你收集整理的redis关键字删除_Redis批量删除key的小技巧的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python手机app 授权登录_App
- 下一篇: 分布式锁和mysql事物扣库存_这个是真