╭────────────────────────────────────────────────────────────╮
║..作者發現,本文被多個博客和網站轉發。贈人玫瑰,手有余香!......................................................║
║..本文版權歸作者和博客園共有,歡迎轉載,轉載請注明出處: https://www.cnblogs.com/buguge ║
╰────────────────────────────────────────────────────────────╯
【應用:】2個應用:【需求:】數據從競品網站爬過來,經過分析處理之后,把結果通過網頁實時反饋給業務人員。
- 一個是爬取數據的應用:不斷從競品網站爬數據,每次爬到的數據為一批。然后,對每一批爬到的數據進行清洗和分析,生成唯一批次號(batch_no),將分析結果持久化入庫。
- 一個是展示頁面:實時刷新持久化的分析結果。
【起初方案】見如下visio流程圖。
缺點很明顯:網頁一直刷庫。這樣,數據表會存在頻繁讀寫,db壓力大。
【改造方案】借助redis。見如下visio流程圖。
眾所周知,讀分布式緩存比讀數據庫在性能方面要快多了,所以可以在極短的時間間隔內讀redis,一旦發現有變化,就讀庫獲取最新數據。
當然,直接將每一批的分析結果數據直接放到redis里,是更好的選擇。