摘要: 过期策略: 我们在set key时,可以给一个expire time,就是过期时间 这段过期时间以后,redis对key删除使用:定期删除+惰性删除 定期删除指redis默认在100ms内随机抽取一些设置了过期时间的key,检查是否过期,过期就删除。 定期删除因为随机的,很多key没有删除,就用到惰 阅读全文
posted @ 2019-08-04 19:51 爱吃猫的鱼i 阅读(315) 评论(0) 推荐(0)
摘要: 爬虫数据去重: 使用MD5生成指纹判断页面是否变化 数据存入mongodb,对关键字进行复合索引(千万以下) 对数据关键字进行哈希映射,生成指纹判断是否在redis的指纹集合中,并可通过是否过滤判断request对象是否进队,对request对象进行过滤(千万级别) 布隆过滤器,实现大数据去重(亿级 阅读全文
posted @ 2019-08-04 19:11 爱吃猫的鱼i 阅读(656) 评论(0) 推荐(0)
摘要: 数据去重 生成指纹:利用hashlib的sha1,对request的请求体、请求url、请求方法进行加密,返回一个40位长度的16进制的字符串,称为指纹 fp = hashlib.sha1() fp.update(to_bytes(request.method)) fp.update(to_byte 阅读全文
posted @ 2019-08-03 20:23 爱吃猫的鱼i 阅读(1099) 评论(0) 推荐(1)
摘要: 哨兵机制存在的意义: 为了实现redis故障转移的自动化。自动发现,自动转移。不需要人工参与。 用户管理多个Redis服务器,该系统执行三个任务: 监控:哨兵会不间断的检查Master和Slave是否正常运行 提醒:当被监控的某个Redis出现问题,哨兵通过API向管理员或者应用程序发送通知 自动故 阅读全文
posted @ 2019-08-03 20:01 爱吃猫的鱼i 阅读(429) 评论(0) 推荐(0)
摘要: 存储形式: 存储在redis中,“spider_name:username–password":cookie 建立py文件及包含方法: initcookies() 初始化所有账号的cookies,将所有账号对用进行登陆获取cookies并保存在redis中 update_cookie(spider_ 阅读全文
posted @ 2019-08-03 19:46 爱吃猫的鱼i 阅读(536) 评论(0) 推荐(0)
摘要: scrapy中间件分下载器中间件和爬虫中间件 下载器中间件(downloader middlewares):主要处理request请求发出去和response响应返回的一些回调。 方法: process_request(self,request,spider): 当request请求经过下载器中间件 阅读全文
posted @ 2019-08-03 18:58 爱吃猫的鱼i 阅读(418) 评论(0) 推荐(0)