代码如下,使用了 pipeline,10W 数据执行下来要 2s,这个算是正常速度么?请问还有啥跑更快的办法么?
from datetime import datetime
from redis import StrictRedis
redis = StrictRedis(host='redis', port=6379, db=0)
def test_redis(count):
pipeline = redis.pipeline()
process_start = datetime.now().timestamp()
for value in range(1, count):
user_key = 'user:id:' + str(value)
pipeline.set(user_key, 'bar')
pipeline.execute()
process_elapsed = round(datetime.now().timestamp() - process_start, 2)
print("\nDone ({}s).\n".format(process_elapsed))
test_redis(100000)
1
srx1982 2021-10-06 23:02:13 +08:00
换个解释器试试
|
2
superrichman 2021-10-06 23:02:25 +08:00 1
Done (0.96s).
你可能需要内存超频 /doge |
3
Phishion OP @superrichman 感谢测试,我用的 VPS, 只能给啥用啥,你这个是挺快的
|
4
youngce 2021-10-06 23:22:24 +08:00 1
1.24s
来自普通办公笔记本 |
5
Phishion OP @youngce 谢谢测试,可能是某云的 VPS 内存性能实在不行,也可能是我 Redis 跑在 Docker 上的原因(我没测试是不是有关联)
|
6
notyss 2021-10-07 05:36:19 +08:00
你是想测试 redis 还是 python 还是 python 的 redis library
|
7
zhchyu999 2021-10-07 10:18:18 +08:00
测试下 redis 的 redis-benchmark 测试下 redis 的性能,看看瓶颈在哪里
|