Redis MGET performance
我正在尝试从redis库中使用mget(r.keys())加载redis数据库中的所有值。 数据库中大约有100k个键值对,每个值对的大小约为40kb。 在拥有超过64GB RAM的Windows机器上执行此操作大约需要38秒。
我已将100k json转储的numpy数组加载到redis数据库中,并运行下面显示的代码以捕获读取数据所花费的时间。
1 2 3 4 5 6 | import redis import time start=time.time() r=redis.StrictRedis(host='localhost',port=6379,db=0) test=r.mget(r.keys()) print(time.time()-start) |
在具有> 50GB可用RAM的Windows机器上,花费的时间约为38秒。 我在运行时检查了系统性能,没有瓶颈。 我期望更快的读取性能,但是有人可以确认这是预期的行为还是我做错了什么。
不建议使用
通过调用
然后,通过调用
我建议您切换为使用
最后,一旦进入批处理以避免在等待下一个批处理返回之前,您可能需要使用pipline。