我接下来的Redis hmset进行了30000次循环,耗时超过6秒。随着循环计数的增加,结果也随之增加。有什么方法可以在5秒内提高写入性能。
我尝试编辑redis.conf以禁用保存,rdbcompression,aof等功能,但还是没有运气。
r = redis.StrictRedis(host='10.3.2.156', port=6379, db=2, decode_responses=True)
pipe = r.pipeline(transaction=False)
for x in range(30000):
m = str(x)
regactivekey = 'regactivetest||' + m
pipe.hmset(regactivekey,{'lp': m, 'contact': '', 'regcontact': '''', 'src_ip': '127.0.0.1','regsrc_ip': '127.0.0.1',})
pipe.execute()
pipe.reset()
答案 0 :(得分:0)
30000 / 6 = 5000
QPS。您尚未达到Redis的限制。 Redis比这快得多。
为了获得更高的QPS,您需要增加并发性。您可以将循环分成5个子循环,然后在不同的python脚本中运行每个子循环,而不必在单个python脚本中运行30000个循环。