1. 程式人生 > >py-redis中的批量刪除key方法

py-redis中的批量刪除key方法

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')
下面是執行截圖