所以我有一个字典,它是我从 Redis 获取的哈希对象,类似于以下字典:
source_data = {
b'key-1': b'{"age":33,"gender":"Male"}',
b'key-2': b'{"age":20,"gender":"Female"}'
}
我的目标是从该字典中提取所有值,并将它们作为 Python 字典列表,如下所示:
final_data = [
{
'age': 33,
'gender': 'Male'
},
{
'age': 20,
'gender': 'Female'
}
]
我尝试使用 json 解析进行列表理解:
import json
final_data = [json.loads(a) for a in source_data.values()]
它有效,但对于大型数据集,它需要太多时间。
我切换到使用这个 3rd 方 json 模块ujson,根据这个基准它更快,但我没有注意到任何改进。
我尝试使用多线程:
pool = Pool()
final_data = pool.map(ujson.loads, source_data.values(), chunksize=500)
pool.close()
pool.join()
我玩了一点,chunksize
但结果是一样的,仍然花费了太多时间。
如果有人可以建议其他解决方案或改进以前的尝试,那将非常有帮助,如果我可以避免使用循环,那将是理想的。