在數據開發中,我們不難遇到重復數據的問題,搞過這類數據開發的同志肯定覺得,重復數據是真的煩人,特別是當數據量十分大的時候,如果我們用空間復雜度去換時間復雜度,會十分耗內容,稍不注意,就會內存溢出,那么針對如此龐大的數據量我們一般能怎么解決呢?下面分享幾個方案:
方案一、根據一定規則分層去重:
海量的數據一般可以根據一定的規則分層,比如:針對海量的小區數據,可以把所在同一區域的小區去重,然后放入數據庫。這樣做大大減少了每次統計的數量和需要去重的數量,精確的顆粒度越細,相對的需要去重的數量也就越少。
方案二、主鍵去重:
根據一定的規則,你可以把需要去重的字段連成一個字符串,往一個redis里面放,或者往mysql一類的關系性數據庫里面放置,以連成的字符串為key,其他字段為value。
方案三:set去重
這個方法是最常用的去重方法,把數據封裝好,然后往一個set里面塞,但是如果涉及到的數據量比較大的話,就很可能out of menmory。
