Scrapy_redis分布式基础_redis使用

Scrapy_redis

优点

  • Scrapy_redis在Scrapy的基础上实现了更多,具体体现在: request去重(过滤以前都爬过的地址),爬虫持久化,和轻松实现分布式

redis

  • 定义:Redis是一个开源的,内存数据库,它可以用作数据库、缓存和消息中间件,它支持多种类型的数据结构,
    如字符串,哈希,列表,集合等

  • 常用命令:
    /etc/init.d/redis-server stop —> redis停止
    /etc/init.d/redis-server start —> redis启动
    /etc/init.d/redis-server restart —> redis重启

      redis-cli -h <hostname> -p <port> ---> 远程连接redis数据库
    
  • resdis常用命令:


	1、select 1  --->  切换到db1,默认在db0
	2、keys *   --->  查看所有的redis键
	3、type '键'  --->  查看键的数据类型
	4、fushdb  --->  清空当前db
	5、fushall  ---> 清空所有db

	list:
		LPUSH mylist "hello"  --> 向列表左边加入单个元素
		LPUSH mylist  a b c  --> 向列表左边加入多个元素
		LRANGE  mylist 0 -1 --> 返回列表中所有的值
		RPUSH mylist a b c ---> 向列表左右加入多个元素
		LLEN  mylist   --> 返回列表中的长度
		LPUSH(mylist, )
		
	set: 
		SADD myset "one" ---> 往set中添加数据
		SADD myset "one" "two" ---> 往set中添加多个数据
		SMEMBERS myset  ---> 获取myset中所有元素
		SCARD myset ---> 获取数量

	zset:
		ZADD myzset 1 "one"
		ZADD myzset 1 "one" 2 "two"
		ZRANGE myzset 0 -1 withscores(是否显示份数)
		ZCARD  myzset

Scrapy_redis在redis中存储的数据

dmoz: dupefilter(set类型) 存放过滤用的请求指纹【指纹集合,存放的是已经进入scheduler队列的request对象指纹,指纹默认有请求方法,url和请求体组成】
dmoz: items(list类型) 存放item里传送来的数据,用来匹配高速的请求数据速度,提高数据读写速度【pipeline中开启RedisPipeline才会存入】
dmoz: requests(zset类型) 待爬取的request对象【Scheduler队列,存放等待请求的request对象,获取的过程是pop操作,即发送请求一个会去除一个】

python中使用redis

import redis
pool = redis.ConnectionPool(host='127.0.0.1', port=6379, db=15)
(decode_responses=True)  # 此参数将不会存储bytes类型,而是字符串类型
- redis有 0-15,共16个数据库,默认使用0数据库
redis = redis.Redis(connection_pool=pool)

[字符串中]
> 增:
redis.set('name', 'hehe', 10)  # set 添加键值字符串,10为有效时间10秒,10秒则被覆盖

> 查:
ret = redis.get('name')

[hash]
> 增
redis.hset('info', 'tel', '120')   # hset:name , key , val 三个参数。给一个name,添加一个键值

> 查
redis.hget('info', 'tel')  # hget:name,key 两个参数。获取某一个name中的某一个键的值

[列表中]

> 增

redis.lpush('students','zhangsan','lisi','wangmazi')  # lpush:存储顺序相反【'wangmazi','lisi','zhangsan'】

redis.rpush('class','1班','2班','3班')  # rpush:正推

> 查

redis.lindex('class',1)) # 查看对应索引值的元素

发布了54 篇原创文章 · 获赞 24 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43388615/article/details/105102990
今日推荐