导出redis中较大的key值

 

文件内容

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
import sys
import redis
import os
pool=redis.ConnectionPool(host='127.0.0.1',password='xxxxxx',db=2)
r = redis.StrictRedis(connection_pool=pool)
#指定key
key = sys.argv[1]
#获取当前路径
path = os.getcwd()
keytype = r.type(key)
print("key的类型为%s" % (keytype))
#扫描到的key输出的文件
txt = path+"/%s.txt" % (key)

#打开文件
def list_iter(key):
    list_count = r.llen(key)
    for index in range(list_count):
        yield r.lindex(key, index)

if keytype==b'list':
    f = open(txt,"w")
    for item in list_iter(key):
#将匹配到对应key中的member/score输出到文件中
        f.write("%s %s" % (item,"\n"))
    f.close

else:
    print("key的类型为string,value为:" + r.get(key))

运行:  python3  get_redis_key.py "key_name"

 

 

 

参考:https://segmentfault.com/a/1190000014415321

posted @ 2022-03-01 18:29  李瑞鑫  阅读(365)  评论(0编辑  收藏  举报