分布式爬虫初识及Redis----windows安装
今天为大家介绍的是分布式爬虫和redis数据库,分布式爬虫今天主要带大家认识一下它,以及它的优缺点和适用范围;redis数据库主要是怎么去安装它,提及它的特点,至于它的使用,接下来我会一一向大家介绍。
一、什么是分布式爬虫?
1.默认情况下,scrapy爬虫是单机爬虫,只能在一台电脑上爬虫 因为怕产品能够调度器的队列queue去重和set都是在本机上创建的 其他电脑无法访问另一台电脑上的内存的内容
2.分布式爬虫用一个共同的爬虫程序,同时部署到多台电脑上运行 这样可以提高爬虫速度,实现分布式爬虫
分布式爬虫的前提:
1.要保证每一台计算机都能够正常的执行scrapy命令 ,能够启动爬虫
2.要保证所有的爬虫程序可以访问同一个对列一个set集合 scrapy redis 想要保证多台机器共用一个queue对列set集合,scrapy 中是结合scrapy_redis完成 分布式爬虫可以让所有的机器上的爬虫程序,从同一个queue队列中获取requst请求,并且 每个机器取出request他请求的对象是不一样的,知道所有的request被请求完毕
分布式爬虫的适用范围/要求:
1.分布式爬虫对电脑的性能有一定的要求
2.分布式爬虫对网速也有一定的要求 电脑性能和网速如果不是很好的话,爬虫不如单机爬虫
注意:并不是任何时候都适用分布式爬虫,因为对硬件有要求,小公司可能负担不起
分布式爬虫经常和redis数据库一起使用
redis数据的特点
优点: 默认使用持久化数据方式 ;体积小,使用方便 ;如果储存的数据量比较大的话,启动速度快 ; 数据库中的数据和内存中的数据是可以相互访问的
缺点: 从安全性上来说,持久化数据可能会崩溃造成数据丢失
要实现分布式爬虫,首先要配置服务器主从:
配置主从的目的:
1.达到一个备份的功能,一旦主服务器(master)出现崩溃,而数据库中还有数据 可以将其中的一个slave重新设置为主服务器,从而恢复redis的正常运行
2.一个redis服务器负责读写,性能较低,通过主从减轻一个redis的压力
redis主从配置
redis作为缓存服务器,主要是将数据内存中进行缓存,但是一台几区的内存和性能是有限的 当对于redis数据库的数据进行读写量较大的时候,那么一台redis就不能满足需求了 此时,需要将redis 部署到多台机器上,用于写入数据redis,称之为master,而只负责 读取数据的redis,称之为slave
redi主从的特点
1.master只负责写入数据,salve只负责读取数据
2.当salve创建的时候,会向master发送一个命令,master接受命令以后 将数据同步给salve
二、Redis
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库
1.Redis的特点
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
2.Redis的优势
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
3. Redis数据库与其他数据库的不同
-
Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
-
Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
4.Redis的安装
1)window版本安装,下载地址:https://github.com/MSOpenTech/redis/releases
Redis 支持 32 位和 64 位。这个需要根据自己系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip最新版本压缩包到 桌面,解压后,将文件夹重新命名为 redis。
2)
打开一个 cmd 窗口 使用cd命令将桌面上的redis文件夹拖进来,运行 redis-server redis.windows.conf 。
如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了
后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:
3)另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。
切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。
设置键值对 set myKey abc
取出键值对 get myKey
5.安装redis可视化工具
下载地址:https://redisdesktop.com/download
下载解压后如下文件夹
双击安装
这里自定义安装路径为桌面
点击安装,等待 就将文件安装好了,双击快捷方式,进入可视化工具页面
进入这一页面后,可以查到在终端中输入的数据,也可以更改数据
到此,redis数据库和redis可视化工具安装完毕。