如何用redis去重?

发布于 2022-09-02 12:55:23 字数 131 浏览 17 评论 0

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

番薯 2022-09-09 12:55:23

用redis集合
链接

情何以堪。 2022-09-09 12:55:23

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

给不了的爱 2022-09-09 12:55:23
$key = 'URL_HASH';
if(!$redis->hGet($key, md5($url))){
    // do something ...
    // 抓取一个 $url 后
    $redis->hSet($key, md5($url), true);
}

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

Hello爱情风 2022-09-09 12:55:23

使用布隆过滤器来实现

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文