使Instagram.com更快的三個步驟:預取資料、推送資料和使用快取 -Instagram Engineering
近年來,instagram.com發生了許多變化-我們推出了故事,過濾器,建立工具,通知和直接訊息傳遞,以及許多其他功能和增強功能。但是,隨著產品的增長,副作用是我們的網路效能開始下降。在過去的一年中,我們做出了有意識的努力來改善這一狀況。到目前為止,這項持續不斷的工作已使我們的Feed頁面載入時間累計提高了近50%。這一系列部落格文章將概述我們所做的一些工作,這些工作導致了這些改進。
在第1部分中,我們討論了使用JavaScript,XHR和影象預取資料:
<link rel="preload" href="/static/FeedPageContainer.js" as="script" type="text/javascript" /> |
在第2部分中,我們討論了通過直接將資料推送給客戶端而不是等待客戶端請求資料來提高效能。使用早期重新整理和漸進HTML推送資料
在第3部分(點選標題進入)使用快取:
- 在頁面載入時,我們傳送對新資料的請求(或等待其推送)
- 建立Redux狀態的分段子集
- 在請求/推送未決期間,我們儲存所有排程的動作
- 請求解決後,我們會將操作與新資料以及所有待處理的操作一起應用到暫存狀態
- 提交暫存狀態後,我們只需用暫存狀態替換當前狀態即可。
第4部分中,將介紹如何通過程式碼大小和執行優化來減少程式碼庫的大小並提高其效能。
相關文章
- nginx快取使用詳解,nginx快取使用及配置步驟Nginx快取
- .net資料快取快取
- 使用Redis和Java進行資料庫快取RedisJava資料庫快取
- Web快取知多少(快取機制和資料儲存)Web快取
- 資料快取的實現快取
- 資料物件的快取策略物件快取
- 使用Redis和Java進行資料庫快取 - DZone資料庫RedisJava資料庫快取
- 使用 Infinispan 快取功能支援多個 Redis 資料庫快取Redis資料庫
- memcached資料庫快取資料庫快取
- Redis快取php資料Redis快取PHP
- PB快取資料指南快取
- DataTable快取資料操作快取
- 檢視某個資料庫在快取中的髒資料資料庫快取
- 報表資料的可控快取快取
- 清除 Electron 中的快取資料快取
- Python爬蟲精簡步驟1 獲取資料Python爬蟲
- SQL Server 2005 實現資料庫快取依賴的實現步驟整理SQLServer資料庫快取
- 聊聊資料庫和快取同步機制資料庫快取
- 微信清除快取資料方法快取
- 清除 Nuxt 資料快取:clearNuxtDataUX快取
- 微服務間如何選擇推送和拉取資料微服務
- 快取淘汰、快取穿透、快取擊穿、快取雪崩、資料庫快取雙寫一致性快取穿透資料庫
- 檢視資料字典快取(或行快取)的丟失率快取
- SQL Server2005 實現資料庫快取依賴的實現步驟整理SQLServer資料庫快取
- 淺談微信小程式用setStorage和getStorage快取和獲取資料微信小程式快取
- 資料預取小輪子
- 使用RxJava從多個資料來源獲取資料RxJava
- 系統快取全解析4:應用程式資料快取快取
- 前端快取API請求資料前端快取API
- 微信小程式之資料快取微信小程式快取
- 快速搭建Redis快取資料庫Redis快取資料庫
- .NET之頁面資料快取快取
- 清理C盤快取,清理電腦C盤快取垃圾的操作步驟快取
- MYSQL---SQL語句的資料快取MySql快取
- 禁止頁面快取資料的方法分享快取
- 海量資料的查詢快取問題快取
- Java基本資料型別和Integer快取機制Java資料型別快取
- 使用EHCACHE三步搞定SPRING BOOT 快取Spring Boot快取