ssp4599815
4/27/2018 - 9:35 AM

redis del keys

redis 批量删除keys

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import time
import redis

pool = redis.ConnectionPool(host='127.0.0.1', port=6379)
rds = redis.Redis(connection_pool=pool)
pipe = rds.pipeline(transaction=False)

f = open('del_keys.txt', 'w')
for key in rds.scan_iter(match='name*', count=10000):
    # do something with keys
    f.write(key + '\n')


start_time = time.time()
SUCCESS_DELETED = 0

with open('del_keys.txt') as kf:
    while True:
        lines = kf.readlines(1024 * 1024)
        if not lines:
            break
        else:
            taskkey_list = [i.strip() for i in lines]
            SUCCESS_DELETED += rds.delete(*taskkey_list)
        print SUCCESS_DELETED
end_time = time.time()
print end_time - start_time, SUCCESS_DELETED