話說同志們在爬取數據的時候如何保存已經訪問過的url和隊列?對于爬取過的url,我使用redis的set來保存,訪問隊列是用list來保存,數據量是直線上升,內存不大,也只有4g,扛不住。不知道以前的方法是什么?
2 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
隊列和判斷是否訪問我都是用的MySQL,考慮到Redis的持久化特性不是很好,而且當時也沒想過用Redis或者其他的,暫時現在用MySQL也沒什么問題。
具體的做法就是對url的md5值做唯一索引,每次查詢都很快,表結構也簡單。
隊列的話使用的是查表的形式,SQL如下(具體status是表示一些自己定義的狀態):
select * from t_down_task where status = 0 order by id limit 1;
定期刪除已經執行完的任務
添加回答
舉報
0/150
提交
取消