py-redis中的批量刪除key方法
阿新 • • 發佈:2019-02-18
py-redis中有個delete介面,既可以刪除單個key,也可以批量刪除key,後者的正確用法網上很少,我在實踐中遇到該問題,特此記錄一下。
網上的資料,大多都是這樣的
r.delete('age')
r.delete('sex', 'age')
正確的方法
keys = r.keys()
r.delete(*keys)
上面這種用法就可以滿足需求,如果執行成功,返回刪除key的個數,否則返回0。錯誤的用法如下:
r.delete(r.keys())
r.delete(','.join(r.keys()))
下面是我的驗證程式碼
下面是執行截圖#!/usr/bin/env python #encoding: utf-8 import redis #config here ... HOST = '10.10.110.162' #69 PORT = 6379 r = redis.Redis(host=HOST, port=PORT, db=0) #檢視當前資料庫大小 print 'dbsize: %s' % r.dbsize() #ping查詢 print 'ping %s' % r.ping() #存資料 r.set('tao_627', '35') print r.get('tao_627') r.set('age', '20') print r.get('age') r.set('sex', 'male') print r.get('sex') keys = r.keys() print keys #k_0 = keys[0] #k_1 = keys[1] print r.delete(*keys) #print r.delete('age', 'sex') #print r.delete(k_0, k_1) #print r.delete(','.join(keys)) print r.get('sex') print r.get('age') print r.get('tao_627')