下载redis
安装redis:
linux下还要开启6379端口
=================================================================
redis的操作:
1、对字符串的操作string(基于二进制安全的---可以接收任何类型的数据-包括图片的二进制数据)
set key value (存在即修改,不存在即添加) 加上过期时间:set age 18 EX 60 (设置过期时间为60s) 一次性设置多个键值对: mset key value key value...
如:mset a python b java c c++
追加数据:append c /c 结果如下: get c
c++/c
一次性获取多个值
mget key key
如 mget name data
对键的操作:keys 参数 --参数支持正则表达式 如:通过keys * 可以查看redis数据库中所有的键
keys ‘a*’ 可以查看redis数据库中以a开头的键
判断键是否存在
exist key
如:exists name
查看键对应的类型:type name
删除键:
del key key key .....
2、对hash的操作 --(hash通常用来做存储对象,对象的属性为键与值)
hset website key value ---似乎只是在set的基础上加上了一个website对象
hget website key
hgetall website 获取所有的属性与值 获取一个对应属性的值:hget website name 获取所有的键:hkeys website
获取所有的值
kvals website
删除属性: hdel website age
删除整个hash表
del website
3、redis对列表的操作
lpush person age 从左边插入 rpush person zhang 从右边插入 lrange person 0 -1 全部遍历 (-1表示结尾) lrange movie_url 0 1 查询0,1元素
在指定的位置插入数据
linsert movie_url before age name (表示在age的前面插入name,linsert是个特定的指令,不是从左边插入)
设置指定索引的值:lset movie_url 3 linux 设置下标为3的地方的值为linux
删除指定的元素
lrem key count value count > 0 表示从左往右 count < 0 表示从右往左 count = 0 表示全部
如: lrem movie_url 1 age
获取指定的元素
lrange movie_url 1 1
4、对集合的操作(与操作列表差不多)
(1)、添加
sadd team zhang sadd team wu sadd team shen
(2)、查看全部元素
smembers team
(3)、移除元素
srem team zhang
====================================================================
scrapy_redis项目配置:
重新配置各模块
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter" SCHEDULER = "scrapy_redis.scheduler.Scheduler" ITEM_PIPELINES = { 'scrapy_redis.pipelines.RedisPipeline': 300, }
是否保持调度器队列,断点续爬
SCHEDULER_PERSIST = True
配置redis数据库链接地址
REDIS_HOST = '172.20.10.6' REDIS_PORT = 6379