分布式爬虫和redis

分布式爬虫

什么是分布式爬虫

默认情况下scrapy是单机爬虫,只能在一台电脑上运行

因为爬虫调度器当中的queue去重和set集合都是在本机上创建的

其他的计算机无法访问另外一台计算机上的内存的内容

分布式爬虫用一个共同的程序,同时部署到多台电脑上运行

这样可以提高爬虫的速度  实施分布式爬虫

分布式爬虫的前提

1 保证每一台计算机都能够正常执行scrapy命令  能够启动爬虫

2 要保证所有的爬虫程序访问同一队列的一个set集合

3 想要保证多台计算机共用一个queue队列和set集合  scrapy 中是结合scrapy  redis完成的

分布式爬虫可以让所有的机器上的爬虫程序从同一个队列中获取request请求,并且每一个机器取出的

request的请求对象  是不一样的,直到所有的request被请求完

Redis的简介

Redis是一个开源的使用ANSI C语言编写,支持网络,可基于内存可持久化的日志型  key-value数据库

并且提供多语言的API

redis命令

redis-server redis.windows.conf

开启服务

redis-cli -h ip地址 -p 端口号

连接服务

set task1 nihao

get task1

rename task1 nihao  重命名

redis的特点

优点

默认使用持久化数据方式  体积小使用方便

如果存储数据较大的时候  启动速度相对快

数据库中的数据和内存中的数据可以相互访问

缺点

从安全的角度来说持久化数据可能会崩溃,造成数据丢失

redis实现分布式的前提首先要配置服务器主从

服务器配置主从的目的

1 达到备份的功能 一旦数据master崩溃,而数据库中还有数据,可以将其中的一个slaver重新作为主服务器

从而恢复redis的正常运行

2 一个redis服务器负责读写,性能较低  通过主从减轻redis的压力

redis主从配置

 redis作为缓存的服务器  主要是将内存中的进行缓存  但是一台机器的性能和内存是有限的

当对于redis数据库的数据进行数据读写的量较大的时候,一台redis就不能满足需求的时候

此时,需要将redis部署在多台机器上

用于写入数据的机器称之为master而只负责读取数据的redis称之为slave

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值