buguge - Keep it simple,stupid

知识就是力量,但更重要的,是运用知识的能力why buguge?

导航

【Visio流程图】借助redis来实现数据即时刷新

╭────────────────────────────────────────────────────────────╮
║..作者发现,本文被多个博客和网站转发。赠人玫瑰,手有余香!......................................................║
║..本文版权归作者和博客园共有,欢迎转载,转载请注明出处: https://www.cnblogs.com/buguge
╰────────────────────────────────────────────────────────────╯

【需求:】数据从竞品网站爬过来,经过分析处理之后,把结果通过网页实时反馈给业务运营人员。
【应用:】2个应用:

  • 一个是爬虫Worker:不断从竞品网站爬数据,每次爬到的数据为一批。然后,对每一批爬到的数据进行清洗和分析,生成唯一批次号(batch_no),将分析结果持久化入库。
  • 一个是运营站点:     在前端展示页面上,实时刷新持久化的分析结果。

【起初方案】见如下visio流程图。

缺点很明显:网页一直刷库。这样,数据表会存在频繁读写,db压力大。

 

 【改造方案】借助redis。见如下visio流程图。 

众所周知,读分布式缓存比读数据库在性能方面具有明显优势,所以可以在极短的时间间隔内读redis,一旦发现有变化,就读库获取最新数据。

当然,直接将每一批的分析结果数据直接放到redis里,是更好的选择。

 

 


 

 

【扩展】

如何画循环结构流程图?如下是示例。

  

 

posted on 2019-09-12 19:30  buguge  阅读(1518)  评论(0编辑  收藏  举报