This commit is contained in:
aozhiwei 2020-08-31 18:43:11 +08:00
parent c700b16108
commit 1f208b8fbd

View File

@ -18,11 +18,14 @@ context = {
'dbname_prefix': '' 'dbname_prefix': ''
} }
def scanKeys(r, key_prefix, keys): def scanKeys(r, key_prefix, matched_keys):
scan_key = key_prefix + '*' scan_key = key_prefix + '*'
keys = []
cursor, keys = r.scan(0, scan_key, 1000) cursor, keys = r.scan(0, scan_key, 1000)
scan_count = 0 scan_count = 0
while cursor != 0 or len(keys) > 0: while cursor != 0 or len(keys) > 0:
for key in keys:
matched_keys[key] = key
#end #end
keys = [] keys = []
if cursor != 0: if cursor != 0:
@ -32,7 +35,12 @@ def scanKeys(r, key_prefix, keys):
break break
#end while cursor #end while cursor
def saveKeys(r, keys, curr_file):
for key in keys:
data = r.get(key)
def exportRedis(context, redis_conf, redis_rule_conf): def exportRedis(context, redis_conf, redis_rule_conf):
curr_file = open(context['out_dir', 'w'])
for conf in redis_conf: for conf in redis_conf:
r = redis.Redis(host = conf['host'], r = redis.Redis(host = conf['host'],
port = conf['port'], port = conf['port'],
@ -40,9 +48,9 @@ def exportRedis(context, redis_conf, redis_rule_conf):
charset = 'utf8' charset = 'utf8'
) )
for rule in redis_rule_conf: for rule in redis_rule_conf:
keys = {} matched_keys = {}
scanKeys(r, rule['key_prefix'], keys) scanKeys(r, rule['key_prefix'], matched_keys)
#end for rule saveKeys(r, curr_file, matched_keys)
#end for conf #end for conf
def main(): def main():