文章詳情頁
python redis 列表插入 速度太慢
瀏覽:145日期:2022-06-27 17:15:54
問題描述
pool = redis.ConnectionPool(host=host, port=port)client = redis.StrictRedis(connection_pool=pool)for i in range(10000): for j in range(30):client.lpush(IDLE_TASKS, json.dumps(args))
這種執行效率低的可怕。需要等幾十秒,才能插入完成。請問有沒更高效率的處理手法?
args 只是以一個元組內容隨意(1,2,'3')之類
問題解答
回答1:因為我個人沒用過redis這個庫, 所以只能嘗試從你給出的代碼去給些建議, 不喜勿噴:
1.不知道你的這個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也有自身的延遲因素
3.可以通過cProfile庫去找出耗時長的地方, 也可以嘗試換別的庫去實現(這個具體得自己去google了)
相關文章:
1. dockerfile - 為什么docker容器啟動不了?2. angular.js - angularjs的自定義過濾器如何給文字加顏色?3. macos - mac下docker如何設置代理4. 請教各位大佬,瀏覽器點 提交實例為什么沒有反應5. javascript - iframe 為什么加載網頁的時候滾動條這樣顯示?6. dockerfile - 我用docker build的時候出現下邊問題 麻煩幫我看一下7. javascript - es6中this8. javascript - web網頁版app返回上一頁按鈕在ios設備失效怎么辦?安卓上可以,代碼如下,請大神幫助,萬分感謝。9. javascript - 用rem寫的頁面,安卓手機顯示文字是正常的,蘋果顯示的文字是特別小的是為什么呢10. 新手 - Python 爬蟲 問題 求助
排行榜
