话说同志们在爬取数据的时候如何保存已经访问过的url和队列?对于爬取过的url,我使用redis的set来保存,访问队列是用list来保存,数据量是直线上升,内存不大,也只有4g,扛不住。不知道以前的方法是什么?
2 回答
斯蒂芬大帝
TA贡献1827条经验 获得超8个赞
队列和判断是否访问我都是用的MySQL,考虑到Redis的持久化特性不是很好,而且当时也没想过用Redis或者其他的,暂时现在用MySQL也没什么问题。具体的做法就是对url的md5值做唯一索引,每次查询都很快,表结构也简单。队列的话使用的是查表的形式,SQL如下(具体status是表示一些自己定义的状态):select*fromt_down_taskwherestatus=0orderbyidlimit1;定期删除已经执行完的任务
添加回答
举报
0/150
提交
取消