84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
この種の実行効率はひどいです。 挿入が完了するまで数十秒待つ必要があります。 これを処理するより効率的な方法はありますか?
args は単なるタプルの内容 (1,2,"3") などです
Following the voice in heart.
因为我个人没用过redis这个库, 所以只能尝试从你给出的代码去给些建议, 不喜勿喷:
1.不知道你的这个args是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个json.dumps(args)放到循环体外面执行:
args
json.dumps(args)
args_dump = json.dumps(args) for i in range(10000): for j in range(30): client.lpush(IDLE_TASKS, args_dump)
2.看到你大概要生成30万的同样的数据, 能否将这个数据先生成, 再一次性client.lpush? 因为毕竟tcp也有自身的延迟因素
client.lpush
3.可以通过cProfile库去找出耗时长的地方, 也可以尝试换别的库去实现(这个具体得自己去google了)
cProfile
因为我个人没用过redis这个库, 所以只能尝试从你给出的代码去给些建议, 不喜勿喷:
1.不知道你的这个
args
是哪来的, 但是在这个循环体中, 似乎没看到改变, 所以能否将这个json.dumps(args)
放到循环体外面执行:2.看到你大概要生成30万的同样的数据, 能否将这个数据先生成, 再一次性
client.lpush
? 因为毕竟tcp也有自身的延迟因素3.可以通过
cProfile
库去找出耗时长的地方, 也可以尝试换别的库去实现(这个具体得自己去google了)