批量刪除Redis中hash map的指定pattern的key
阿新 • • 發佈:2019-01-23
Redis並沒有直接給出批量刪除hash map鍵的命令,寫個python函式跑指令碼吧。
def del_hkeys(pattern) : cnt = redis.Redis(host='192.168.1.115',port=6381,db=2) key_dict={} keys = cnt.keys(pattern); for key in keys: subkeys = cnt.hkeys(key) key_dict[key] = subkeys pipe = cnt.pipeline(transaction=False) counter=0 for key in key_dict.keys(): subkeys = key_dict[key] for subkey in subkeys: cnt.hdel(key, subkey) counter+=1 if counter > 10000: pipe.execute() pipe.execute()
使用 del_hkeys("week:*")