【Visio流程图】借助redis来实现数据即时刷新
╭────────────────────────────────────────────────────────────╮
║..作者发现,本文被多个博客和网站转发。赠人玫瑰,手有余香!......................................................║
║..本文版权归作者和博客园共有,欢迎转载,转载请注明出处: https://www.cnblogs.com/buguge ║
╰────────────────────────────────────────────────────────────╯
【需求:】数据从竞品网站爬过来,经过分析处理之后,把结果通过网页实时反馈给业务运营人员。
【应用:】2个应用:
- 一个是爬虫Worker:不断从竞品网站爬数据,每次爬到的数据为一批。然后,对每一批爬到的数据进行清洗和分析,生成唯一批次号(batch_no),将分析结果持久化入库。
- 一个是运营站点: 在前端展示页面上,实时刷新持久化的分析结果。
【起初方案】见如下visio流程图。
缺点很明显:网页一直刷库。这样,数据表会存在频繁读写,db压力大。
【改造方案】借助redis。见如下visio流程图。
众所周知,读分布式缓存比读数据库在性能方面具有明显优势,所以可以在极短的时间间隔内读redis,一旦发现有变化,就读库获取最新数据。
当然,直接将每一批的分析结果数据直接放到redis里,是更好的选择。
【扩展】
如何画循环结构流程图?如下是示例。
当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/p/11514772.html