中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

ajax無刷新分頁的性能優化方法
來源:易賢網 閱讀:1055 次 日期:2016-06-20 09:50:28
溫馨提示:易賢網小編為您整理了“ajax無刷新分頁的性能優化方法”,方便廣大網友查閱!

ajax無刷新分頁,已經是一個大家比較熟悉的事物了,大概就是web前端頁面上有一個js的方法,通過ajax去請求服務器端的分頁數據接口,拿到數據后再在頁面上創建html結構,展現給用戶,類似于下面這樣:

?12345678910111213 <script type=”text/javascript”> function getpage(pageindex){ ajax({ url:” remoteinterface.cgi”, method:”get”, data:{pageindex:pageindex}, callback:callback }); } function callback(datalist){ //todo:根據返回的datalist數據創建html結構展現給用戶。 } </script>

其中,remoteinterface.cgi是一個服務器端的接口。我們這里限于篇幅,涉及的實例代碼可能都不是完整的,只為了把意思表達明白。

ui上,可能會有各種款式的分頁控件,大家也都比較熟悉,比如:

但無非都是用戶點擊控件觸發這里的getpage(pageindex)方法,這個getpage方法可能不是那么簡單。

如果按照代碼片段1的寫法,我們可以想象,用戶每次點擊翻頁的時候,都會請求一次remoteinterface.cgi,在忽略數據可能有更新的情況下,除了第一次,后面每次getpage(1) 、getpage(2)、getpage(3)等等所觸發的遠程接口請求以及在網絡上往返的數據流量,其實都是重復的、不必要的。每頁第一次請求的時候都可以把這些數據以某種形式緩存在頁面上,用戶如果有興趣回頭來看之前翻過的頁,getpage方法應該先檢查本地緩存當中是否包含該頁數據,如果有,則直接重新展現給用戶,而不是去調用遠程接口。按照這個想法,我們可以把代碼片段1修改一下,如下:

?12345678910111213141516171819202122232425 <script type=”text/javascript”> var pagedatalist={}; function getpage(pageindex){ if(pagedatalist[pageindex]){ //如果本地的數據列表中包含當前請求頁碼的數據 showpage(pagedatalist[pageindex])//直接展現當前數據 } else{ ajax({ url:” remoteinterface.cgi”, method:”get”, data:{pageindex:pageindex}, callback:callback }); } } function callback(pageindex,datalist){ pagedatalist[pageindex]= datalist; //緩存數據 showpage(datalist);//展現數據 } function showpage(datalist){ //todo:根據返回的datalist數據創建html結構展現給用戶。 } </script>

這樣做一來節約網絡請求往返的時間,更重要的是節約寶貴的網絡流量和減輕接口服務器的負擔。在低網速環境下或者接口服務器運行壓力已經比較大的情況下,這種必要的改進更能顯現明顯的優化效果。大名鼎鼎的yahoo 34條,第一條就是盡量減少http請求次數。ajax的異步請求,毫無疑問也是在http請求的范疇內。訪問量小的web應用或許感覺沒有必要,但是想象一下,如果有一個這樣的頁面:每天訪問量1000萬次,用戶平均翻5頁,其中有一頁為重復查看。那么這樣一個頁面,按照代碼片段1的寫法,平均每天將觸發5000萬次的數據請求,而按照代碼片段2的寫法,則平均每天至少可減少1000萬次請求。如果每次請求的數據量是20kb,則可以節約1000萬*20kb=200,000,000kb 約合190g的網絡流量。這樣看節約的資源是相當可觀的。

如果要繼續深究的話,代碼片段2當中數據緩存方法還值得討論一下。我們前面假定可以忽略分頁數據的時效性,但實際應用里面時效性卻是個不能回避的問題。緩存毫無疑問會導致時效性的降低,真正的緩存方案應該還要依賴對應用時效性要求的分析和取舍。

對于一般不是特別強調時效性的內容,頁面上的緩存應該還是可以接受的,一來用戶不會一直停留在一個頁面上,頁面之間有跳轉造成重新加載時,可以獲得更新后的數據。另外如果用戶有刷新頁面的習慣的話,當他特別想看列表是否有數據更新的時候,可以選擇刷新頁面。如果追求完美的話,還可以考慮設定一個時間范圍,比如5分鐘。如果用戶一直停留在當前頁面超過5分鐘,那么5分鐘內他的翻頁都是先讀取頁面上的緩存,5分鐘以后的翻頁才再次請求服務器的數據。

有些情況,如果我們可以預知數據的更新頻率,比如多少天才可能會有一次數據更新,甚至可以考慮使用本地存儲,隔一定時間才觸發一次對服務器數據的請求,這樣對請求數和流量的節約就更加徹底了。當然最終什么樣的緩存方法適用,歸根結底還取決于產品對時效性的要求,但原則還是能節約的請求和流量,盡量節約,對于訪問量超大的頁面尤其如此。

對于時效性要求高的一類數據,緩存就完全不適用么?當然不是的,只不過整體的思路還得再變一變。一般所謂變化,可能主要是列表當中的數據有增、減或者改動,但是絕大多數的數據還是保持不變的。大多數情況下,前面講的設定在一段時間范圍內做緩存還是適用的。

如果有接近于要求實時更新數據的需求,大家可能很容易想到使用定時器的方法,比如每20秒執行一次getpage(pageindex)方法并重繪列表。但大家只要聯想到前面1000萬次頁面訪問的假設,就會發現這無疑是一件超級恐怖的事情,按照這種訪問量和重試的頻率,服務器壓力山大呀。關于這種情況怎么處理,我想請大家去看一看gmail、163郵箱和新浪郵箱等對郵件列表頁的處理方式。它們幾乎同時滿足了我們之前的假設:超級大的日訪問量,對數據要求實時更新等。用網絡抓包工具分析一下不難發現,它們在用戶重復請求同一個頁碼的數據時,都不會向服務器發出請求。為了保證有消息更新時能夠及時通知用戶并且更新郵件列表,可以使用一個定時、重復進行的異步請求,但是這個請求只是做一個狀態查詢,而不是刷新列表。只有獲取到有消息更新的狀態時才會發起請求去獲取更新的數據,或者狀態查詢的接口在發現有更新時會直接把更新的數據返回。事實上,163郵箱這個定時的狀態查詢,間隔時間都是設的比較長的,大概兩分鐘一次,新浪郵箱這個時間間隔更長一些,大概5分鐘一次,可以了解它們都在盡力減少請求數量。但是這種處理方式,可能就不是僅前端單方面就能做的,實現方案需要和后臺接口整體考慮才行。

現在我們再回過頭來看一下代碼片段2當中的數據緩存方法。現在不再討論請求數量和流量的節約,我們來看一下前端的實現上還有沒有什么值得深究一下的。按照代碼片段2示意的處理方式,原始數據被儲存起來,當再次被調用時,showpage(datalist)需要再次根據數據去重建html結構展現給用戶,但是之前這個創建結構的過程我們是有做過的,是不是可以考慮在第一次創建結構的時候,直接把這個結構存起來呢?這樣可以減少js重復的計算,特別當結構比較復雜時更值得考慮。再想一下,這個結構之前在頁面上創建過了,翻頁的時候銷毀并再次創建新的結構,也是耗費資源的,能不能第一次創建好了之后,翻頁的時候不銷毀,只是通過控制css樣式給它隱藏起來,重復翻頁的時候也只是在這些創建好的結構之間控制彼此顯示或者隱藏?

最后,這里討論的方法,不一定適用所有情景,但或者會有些許啟發,可以在適當的時候嘗試其中一二。同時思想如果發散開來,或者還不僅僅可以運用在無刷新分頁。這里拋磚引玉,大家一起探討。

更多信息請查看腳本欄目
易賢網手機網站地址:ajax無刷新分頁的性能優化方法
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美日韩视频在线第一区| 麻豆精品视频在线| 欧美日韩欧美一区二区| 午夜精品国产精品大乳美女| 黄色成人91| 国产日韩欧美在线播放不卡| 欧美性开放视频| 欧美国产国产综合| 久久综合伊人| 猛男gaygay欧美视频| 亚洲婷婷综合久久一本伊一区| 欧美日韩一区国产| 欧美成人午夜免费视在线看片| 久久精品首页| 久久国产精品毛片| 欧美诱惑福利视频| 久久久精品日韩| 久久久久国产一区二区三区四区| 久久不射2019中文字幕| 欧美一区二区三区免费大片| 欧美亚洲网站| 久久久www成人免费无遮挡大片| 久久精品国产99精品国产亚洲性色| 欧美亚洲色图校园春色| 久久精品中文字幕一区二区三区 | 欧美精品一区二区视频| 欧美wwwwww| 欧美日本高清一区| 国产精品福利网| 国产乱码精品一区二区三区五月婷| 国产区亚洲区欧美区| 国内久久视频| 亚洲激情综合| 一本色道**综合亚洲精品蜜桃冫| 正在播放欧美视频| 亚洲欧美日韩国产综合在线| 久久久91精品国产| 欧美大片免费观看在线观看网站推荐| 欧美久久久久久久久| 国产精品乱子久久久久| 国语自产精品视频在线看抢先版结局 | 欧美视频三区在线播放| 国产精品久久久久av免费| 国产日韩专区在线| 亚洲国内精品| 欧美一区二区大片| 欧美激情视频给我| 国产精品一区二区三区观看| 亚洲国产国产亚洲一二三| 亚洲综合大片69999| 美女国内精品自产拍在线播放| 欧美日韩日本视频| 国产真实久久| 亚洲一区二区三区四区五区黄| 老牛国产精品一区的观看方式| 国产精品福利影院| 亚洲国产高清一区| 欧美中文字幕在线| 欧美一区二区三区电影在线观看 | 亚洲综合色自拍一区| 久久精品成人| 欧美日韩在线一二三| 狠狠色狠狠色综合日日小说| 妖精视频成人观看www| 久久精品视频在线| 国产精品乱码人人做人人爱| 亚洲日韩成人| 久久亚洲精品视频| 国产乱码精品1区2区3区| 亚洲精品美女在线观看播放| 久久久蜜桃一区二区人| 国产精品三上| 在线视频欧美日韩精品| 欧美jjzz| 在线视频国产日韩| 久久精品免费电影| 国产免费成人在线视频| 亚洲一二三区精品| 欧美视频亚洲视频| 99热免费精品在线观看| 欧美精品v国产精品v日韩精品| 极品av少妇一区二区| 久久福利影视| 国产日韩一区| 久久国产精品久久精品国产| 国产午夜精品麻豆| 欧美一级久久久| 国产精品永久入口久久久| 久久久久久精| 久久婷婷丁香| 国产亚洲一区精品| 亚洲综合丁香| 国产精品视频yy9099| 亚洲一区在线看| 国产精品视频999| 香港久久久电影| 国产亚洲欧洲997久久综合| 亚洲欧美久久久| 国产欧美日韩高清| 欧美亚洲一区二区在线观看| 国产亚洲精品美女| 久久一区二区视频| 亚洲黄色片网站| 欧美特黄一级大片| 亚洲欧美国产视频| 国产亚洲综合在线| 蜜臀av性久久久久蜜臀aⅴ四虎| 亚洲国产日韩欧美在线图片| 欧美成人一品| 在线亚洲精品| 国产麻豆精品久久一二三| 久久超碰97中文字幕| 亚洲第一二三四五区| 狠狠久久综合婷婷不卡| 亚洲综合欧美日韩| 国产麻豆午夜三级精品| 欧美一区二区黄色| 一区三区视频| 欧美成人精品福利| 99在线精品视频| 国产毛片精品视频| 久久婷婷麻豆| 亚洲视频1区2区| 国语自产精品视频在线看抢先版结局 | 一本高清dvd不卡在线观看| 亚洲欧美制服另类日韩| 国产欧美一区二区精品忘忧草 | 午夜在线成人av| 国产精品入口夜色视频大尺度| 亚洲免费视频成人| 国内外成人免费激情在线视频| 欧美成人r级一区二区三区| 亚洲最新在线| 伊人久久亚洲美女图片| 欧美视频在线观看视频极品| 久久国产主播精品| 亚洲精品一区二| 国产欧美日韩一区二区三区在线| 欧美成人午夜激情视频| 午夜免费日韩视频| 亚洲精品社区| 国内在线观看一区二区三区| 欧美日本高清| 久久久噜噜噜| 先锋亚洲精品| 一区二区三区精密机械公司| 狠狠色狠狠色综合日日小说| 国产精品久久久久久影视| 卡通动漫国产精品| 欧美一区二区高清| 中国亚洲黄色| 最新国产成人av网站网址麻豆| 国产精品一区二区三区免费观看| 欧美日韩八区| 欧美二区不卡| 噜噜噜久久亚洲精品国产品小说| 欧美一级大片在线观看| 一区二区三区四区五区精品| 亚洲国产精品久久人人爱蜜臀| 国产视频亚洲| 国产精品推荐精品| 国产精品久久国产精品99gif| 欧美剧在线免费观看网站| 老司机凹凸av亚洲导航| 欧美中文字幕| 欧美一级欧美一级在线播放| 亚洲欧美另类在线观看| 亚洲视频999| 一区二区三区免费在线观看| 在线综合视频| 一区二区三区.www| 在线午夜精品| 宅男精品视频| 亚洲视频综合在线| 一区二区三区国产在线| 亚洲少妇最新在线视频| 夜夜嗨一区二区| 亚洲一区二区三区四区五区黄| 一区二区三区毛片| 亚洲少妇最新在线视频| 亚洲欧美区自拍先锋| 性欧美暴力猛交69hd| 久久精品欧美日韩| 久久国产视频网| 久久久久欧美| 欧美成ee人免费视频| 欧美日韩成人免费| 欧美午夜精品| 国产精品视频久久久| 亚洲麻豆视频| 亚洲国产精品视频| 日韩亚洲不卡在线| 亚洲自拍都市欧美小说| 午夜免费电影一区在线观看| 欧美在线观看天堂一区二区三区| 久久久久久电影| 欧美xart系列高清| 欧美日韩一卡二卡| 国产日韩欧美夫妻视频在线观看| 国产一区二区激情|