开发者社区> 问答> 正文

redis做url的缓存问题

在爬虫的时候,想使用 redis 来做url 的缓存,不过在操作的时候,遇到了一些小问题。在redis 我想存储的数据格式如下: key domain visited ,数据举例: {"hk134" ,"aton", 0}{"yk457" ,"tianya", 1},这样的数据有数百万。
问题如下:如何从缓存中获取一个 visited 为 0 的数据?
另外想参考一下,大家在爬虫的时候,是如何对 url 进行去重的?看了一些开源的一些代码,结合redis 的 list 和 hash 来做,没有看懂。
所以想问一下大家,是如何对大量数据进行去重的?如先有url 100万条(不重复),再抓取了 100 条 url,如何将这 100 条url 添加到已有的 url 里?
谢谢

展开
收起
落地花开啦 2016-02-19 17:47:34 4785 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    Redis建议尽可能使用hash存储数据。
    第一个问题,Redis目前没有提供通过value获取key的方式,你可以上网查查有没有相关的帖子介绍
    url去重用程序代码可以实现,在爬取的过程中去重之后再存入redis应该更合理。
    如果非要用Redis实现,应该用set才对,因为set不能保存相同的string,所以一股脑丢给redis的set即可解决这个问题。

    2019-07-17 18:44:59
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Redis在唯品会的应用实践——架构演进与功能定制 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载