搜索

首页  >  问答  >  正文

如何用redis去重?

分别从几个固定的网站上爬取数据;
为了url去重,我用<set get>的字符串型存储?还是用<SADD SMEMBERS>的sets型存储?

需要存储url数目,大概初期在100k-1000k之间。

过去多啦不再A梦过去多啦不再A梦2769 天前907

全部回复(3)我来回复

  • 世界只因有你

    世界只因有你2017-04-25 09:04:08

    用redis集合
    链接

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-25 09:04:08

    用集合吧,集合的不重复性太适用了。

    回复
    0
  • PHPz

    PHPz2017-04-25 09:04:08

    $key = 'URL_HASH';
    if(!$redis->hGet($key, md5($url))){
        // do something ...
        // 抓取一个 $url 后
        $redis->hSet($key, md5($url), true);
    }

    这里需要注意的是,如果是多线程的,要考虑其他进程,可以吧 bool 值改为枚举值。

    回复
    0
  • 取消回复