美文网首页我爱编程
pipelines中各类的优先级顺序不为人知的小事

pipelines中各类的优先级顺序不为人知的小事

作者: 潘雪雯 | 来源:发表于2018-06-21 21:30 被阅读10次

我们都知道pipelines文件用来处理数据,比如把数据存储为json格式或者csv格式再者就是存储到mysql或者MongoDB数据库中。问题来了,如果同一份数据,我既要保存为json格式又要存到mysql数据库和MongoDB数据库中,这个时候数据之间的存储过程会不会打架呢?答案是肯定不会的,scrapy架构的配置很厉害,我们这个时候可以在settings文件中进行设置存储数据的优先级顺序。问题是若数据存储过程中,有所改变的话,会不会影响接下来数据的存储呢?即数据按照优先级存储的过程中若有数据发生变化会不会影响接下来将要存储的数据呢?

  • 实验一
    在MysqlPipeline中临时把item['title']='aaa',并且设置MysqlPipeline优先级最高
    优先级顺序:
'xxx.pipelines.xxxPipeline':400,
 'xxx.pipelines.MongodbPipeline':300,
 'xxx.pipelines.MysqlPipeline': 100,

观察数据的变化情况:


mydata.json
mysql
MongoDB
  • 实验二:
    在MongodbPipeline中的item['title']改"aaa",MySQL中不改变的话,会发现,Mysql数据库中的title字段是正常显示的,而Mongodb和json中的title还是字符串"aaa",
  • 总结
    pipelines中只要不对数据进行更改,即使优先级顺序不同,存储到各个数据库中的数据是一样的。

重点

若在这个过程中数据被更改,则会影响随后存储的数据也会被动更新

相关文章

  • pipelines中各类的优先级顺序不为人知的小事

    我们都知道pipelines文件用来处理数据,比如把数据存储为json格式或者csv格式再者就是存储到mysql或...

  • Elasticsearch中的Ingest pipelines

    Elasticsearch中的Ingest pipelines Ingest pipelines[https://...

  • 无标题文章

    同步任务: 优先级高,在线程中有执行顺序,不会开启新的线程 异步任务: 优先级低,在线程中执行没有顺序,看cpu闲...

  • scrapy存储到mongodb数据库中

    在pipeline中 写入如下: ITEM_PIPELINES = { 'DBDY.pipelines.DbdyP...

  • 运算符的优先级

    优先级 优先级与求值顺序无关。如a+b && b* c,虽然*优先级最高,但这个表达式求值顺序是从左到右。 优先级...

  • Java运算符优先级和结合性

    问题如下代码运行结果是啥? 运算符优先级 该表中优先级按照从高到低的顺序书写,也就是优先级为1的优先级最高,优先级...

  • Shell基础脚本-运算符优先级

    在脚本中,运算执行的顺序被称为优先级: 高优先级的操作会比低优先级的操作先执行表-1. 运算符优先级(从高到低) ...

  • Java运算符优先级

    优先级从上到下依次递减,最上面具有最高的优先级,逗号操作符具有最低的优先级。 相同优先级中,按结合顺序计算。大多数...

  • Java运算符优先级

    运算符的优先级决定了表达式中运算执行的先后顺序。通常优先级由高到底的顺序依次是:1.增量和减量运算。2.算术运算。...

  • Java中运算符的优先级

    所谓优先级,就是在表达式中的运算顺序。Java 中常用的运算符的优先级如下表所示: 级别为 1 的优先级最高,级别...

网友评论

    本文标题:pipelines中各类的优先级顺序不为人知的小事

    本文链接:https://www.haomeiwen.com/subject/osgqyftx.html