redis批量刪除key,key包含空格,\n

redis沒(méi)有提供批量刪除命令,借助linux的 xargs 命令實(shí)現(xiàn)批量刪除

key中不帶空格

./redis-cli -a admin keys "seer*"|xargs ./redis-cli -a admin del
# 刪除所有以 seer開(kāi)頭的key,數(shù)據(jù)庫(kù)密碼為 admin

如果key中帶有空格,比如mybatis二級(jí)緩存生成的key,上述命令無(wú)法刪除。
咨詢了我們的運(yùn)維大佬,提供了一個(gè)方案。

key中帶空格

./redis-cli -a admin keys "seer*"|xargs -I {} ./redis-cli -a admin del "{}"

如果有興趣,可以自行搜索下xargs的相關(guān)用法

key中帶\n

redis 以 \n 為結(jié)束符,所以key中帶 \n 的無(wú)法通過(guò)上述方法刪除,可以通過(guò)腳本實(shí)現(xiàn)

# !/usr/bin/env python
# -*- coding: UTF-8 -*-

import sys

import redis

__author__ = 'seer'
__date__ = '2018/8/15 10:34'

'''
 批量刪除 redis key  
'''

client = redis.StrictRedis(host='127.0.0.1', password='admin')
is_delete = sys.argv[1]
match = sys.argv[2]
for key in client.scan_iter(match=match):
    print key
    if is_delete.lower() == 'true':
        client.delete(key)
        print '刪除成功 %s' % key

batch_delete_redis_key.py true yuyanjia*

keys 命令會(huì)造成堵塞,改用scan

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • I. 由于測(cè)試項(xiàng)目上線,需要?jiǎng)h除redis所有的key來(lái)開(kāi)始新測(cè)試。 發(fā)現(xiàn)del命令只能一個(gè)一個(gè)的刪除,那不成我又...
    五大RobertWu伍洋閱讀 7,288評(píng)論 0 0
  • 本文將從Redis的基本特性入手,通過(guò)講述Redis的數(shù)據(jù)結(jié)構(gòu)和主要命令對(duì)Redis的基本能力進(jìn)行直觀介紹。之后概...
    kelgon閱讀 61,637評(píng)論 23 625
  • 很久以后 很久以前,聽(tīng)《十年》,想著陳奕迅怎么那么倒霉,不是失戀就是被拋棄。 很久以后,聽(tīng)《十年》,聽(tīng)到的不再是陳...
    小慕雪閱讀 230評(píng)論 0 2
  • 2018年2月4日上午,中學(xué)一組17名校長(zhǎng)齊聚城關(guān)中學(xué),暢談四天來(lái)的學(xué)習(xí)體會(huì),展望學(xué)校美好的明天。這是一群...
    春學(xué)閱讀 1,428評(píng)論 0 0
  • 人說(shuō)當(dāng)斷不斷反受其亂,人說(shuō)遇事需當(dāng)機(jī)立斷。 特別,是感情。 不過(guò)這說(shuō)的容易,但真要做起來(lái),...
    紅梅映雪2閱讀 534評(píng)論 0 1

友情鏈接更多精彩內(nèi)容