新聞中心
Redis是一款開源的非關(guān)系型數(shù)據(jù)庫(kù),它被經(jīng)常用來(lái)存儲(chǔ)結(jié)構(gòu)化的數(shù)據(jù)。在存儲(chǔ)數(shù)據(jù)時(shí),很容易收集到重復(fù)數(shù)據(jù),尤其是在爬蟲爬取數(shù)據(jù)時(shí)尤為明顯。如何去除重復(fù)數(shù)據(jù)?本文將主要介紹如何利用Redis輕松實(shí)現(xiàn)重復(fù)數(shù)據(jù)的去除。

先來(lái)了解一下Redis中提供的數(shù)據(jù)類型:
– String類型:字符串;
– Hash類型:哈希表;
– List類型:列表;
– SET類型:集合;
– Zset:有序集合。
對(duì)于去除重復(fù)數(shù)據(jù),利用Redis的Set類型可以較為輕松地實(shí)現(xiàn)。Set類型是一種“字符串”無(wú)序集合,所有“字符串”元素在Set中都是唯一的,不再重復(fù)出現(xiàn)。因此,可以將爬取到的數(shù)據(jù)放入到Set集合中,即可輕松去除重復(fù)數(shù)據(jù)。
實(shí)現(xiàn)如下:
// 首先引入驅(qū)動(dòng)
const redis = require('redis');
// 創(chuàng)建連接
const client = redis.createClient();
// 數(shù)據(jù)
const data = [1,2,3,3,4,5,5];
// 遍歷數(shù)據(jù),將其放入集合中
data.forEach(d => {
client.sadd('data_list', d);
});
// 獲取去除重復(fù)數(shù)據(jù)后的結(jié)果
client.smembers('data_list', (err, result) => {
if(err) {
console.log(err);
return;
}
console.log(result);
})
以上代碼執(zhí)行結(jié)果為:[ ‘1’, ‘2’, ‘3’, ‘4’, ‘5’ ],可見已經(jīng)成功將重復(fù)數(shù)據(jù)去除。
總結(jié)來(lái)說(shuō),利用Redis中的Set類型可以輕松實(shí)現(xiàn)集合中重復(fù)數(shù)據(jù)的刪除,而無(wú)需額外編寫代碼實(shí)現(xiàn)。該方法在爬取數(shù)據(jù)時(shí)尤其實(shí)用,可以有效減少存儲(chǔ)空間,提高爬蟲的效率。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)站標(biāo)題:數(shù)據(jù)刪除利用Redis輕松實(shí)現(xiàn)重復(fù)數(shù)據(jù)的去除(redis重復(fù))
轉(zhuǎn)載來(lái)于:http://m.fisionsoft.com.cn/article/dhgigep.html


咨詢
建站咨詢
