使用數據庫建立關鍵字段(一個或者多個)建立索引進行去重
根據url地址進行去重
使用場景:url地址對應的數據不會變的情況,url地址能夠唯一判別一條數據的情況
思路:
url存在Redis中
拿到url地址,判斷url在Redis的集合中是否存在
存在:說明url地址已經被請求過了,不在請求
不存在:說明url地址沒有被請求過,請求,把該url地址存入Redis的集合中
布隆過濾器:
使用多個加密算法加密url地址,得到多個值
往對應值的位置把結果設置為1
新來的一個url地址,一樣通過加密算法生成多個值
如果對應位置的值全為1,說明這個url地址已經被抓取過了
否則沒有被抓取過,就把對應的位置的值設置為1
根據數據本身進行去重:
選擇特定的字段(能夠唯一標識數據的字段),使用加密算法(MD5,sha1)將字段進行加密,生成字符串,存入Redis的集合中
后續新來一條數據,同樣的方式進行加密,
如果得到的字符串在Redis中存在,說明數據存在,對數據進行更新,
否則說明數據不存在,對數據進行插入。