婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ajax無刷新分頁的性能優化方法

Ajax無刷新分頁的性能優化方法

熱門標簽:外呼系統獲取客戶手機號 徐州電銷卡外呼系統供應商 百靈鳥 青海醫療智能外呼系統怎么樣 襄陽外呼系統接口 老虎郵局地圖標注點 上海浦東百度地圖標注中心注冊 科智聯智能電銷機器人 目標三維地圖標注

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

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修改一下,如下:

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樣式給它隱藏起來,重復翻頁的時候也只是在這些創建好的結構之間控制彼此顯示或者隱藏?

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

您可能感興趣的文章:
  • Flash Ajax 操作 XML 實例:無刷新分頁
  • php ajax無刷新分頁,支持id定位
  • jquery 插件 web2.0分格的分頁腳本,可用于ajax無刷新分頁
  • JS+Ajax+Jquery實現頁面無刷新分頁以及分組 超強的實現
  • ajax實現無刷新分頁(php)
  • JQuery+Ajax無刷新分頁的實例代碼
  • asp.net中利用Jquery+Ajax+Json實現無刷新分頁的實例代碼
  • php+ajax實現無刷新分頁的方法
  • asp.net使用AJAX實現無刷新分頁
  • 基于ajax實現無刷新分頁的方法

標簽:揭陽 商洛 荊州 辛集 佛山 股票 紅河 咸寧

巨人網絡通訊聲明:本文標題《Ajax無刷新分頁的性能優化方法》,本文關鍵詞  Ajax,無,刷新,分頁,的,性能,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ajax無刷新分頁的性能優化方法》相關的同類信息!
  • 本頁收集關于Ajax無刷新分頁的性能優化方法的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美一二三区在线| 日韩欧美一级二级三级久久久| 99国产精品久| 国产欧美日韩不卡| 成人av电影在线播放| 亚洲同性同志一二三专区| 91在线视频播放| 日本人妖一区二区| 欧美一级日韩免费不卡| 精品一区二区三区蜜桃| 国产精品久久一卡二卡| 欧美日韩在线精品一区二区三区激情| 亚洲综合在线免费观看| 亚洲一二三专区| 欧洲国内综合视频| 成人午夜av影视| 九九国产精品视频| 高清国产午夜精品久久久久久| 91在线观看成人| 日韩一区二区高清| 国产在线精品国自产拍免费| 在线国产亚洲欧美| 国产精品成人免费精品自在线观看| 蜜臀av国产精品久久久久 | 亚洲欧美综合网| 午夜欧美一区二区三区在线播放| 91福利在线导航| 午夜精品在线看| 欧美一区二区三区色| 国产成人精品aa毛片| 日本精品视频一区二区三区| 国产99精品在线观看| 一本色道久久综合亚洲精品按摩| 一本到不卡免费一区二区| 日本一区二区三区国色天香 | 男人的天堂亚洲一区| 欧美本精品男人aⅴ天堂| 成人av在线播放网址| 日韩高清在线电影| 亚洲女同一区二区| 久久久99精品久久| 91精品国产福利在线观看| 一区视频在线播放| 国产精品一卡二卡在线观看| 亚洲欧洲日本在线| 欧美一区二区三区免费在线看| 一区二区三区四区av| 国产欧美日韩精品a在线观看| 亚洲gay无套男同| 欧美绝品在线观看成人午夜影视| 国产一区二区在线视频| 久久精品在这里| 91一区在线观看| 成人自拍视频在线| 国产精品一级二级三级| 久草这里只有精品视频| 日韩中文字幕av电影| 国产精品高潮久久久久无| 久久噜噜亚洲综合| 久久精品免视看| 亚洲精品在线电影| 日韩精品一区二区三区视频| 欧美人xxxx| 91精品欧美福利在线观看| 精品国一区二区三区| 国产精品123区| 国产凹凸在线观看一区二区| 91精品久久久久久蜜臀| 亚洲人成亚洲人成在线观看图片| 亚洲国产成人在线| 国产一区二区三区在线看麻豆| 久久久激情视频| 一区二区三区日韩精品| 亚洲免费高清视频在线| 亚洲一区二区三区美女| 亚洲v精品v日韩v欧美v专区| 午夜久久久影院| 精品亚洲成av人在线观看| 国产激情偷乱视频一区二区三区| 成人avav在线| 在线视频综合导航| 欧美一区二区三区影视| 国产欧美日韩在线看| 亚洲品质自拍视频| 日韩精品电影在线观看| 国产麻豆视频精品| 91女人视频在线观看| 欧美刺激脚交jootjob| 国精产品一区一区三区mba视频| 国产精品自在欧美一区| 色八戒一区二区三区| 91精品在线一区二区| 久久精品综合网| 亚洲国产视频一区二区| 国产在线看一区| 色乱码一区二区三区88| 欧美成人性战久久| 亚洲精品国产成人久久av盗摄| 青草av.久久免费一区| 成人av资源站| 91精品麻豆日日躁夜夜躁| 综合色天天鬼久久鬼色| 久久国产福利国产秒拍| 91在线观看污| 欧美不卡一二三| 亚洲综合激情小说| 东方欧美亚洲色图在线| 欧美久久婷婷综合色| 中文字幕一区日韩精品欧美| 欧美a一区二区| 99国内精品久久| 久久久久一区二区三区四区| 五月天久久比比资源色| 91日韩一区二区三区| 亚洲另类在线一区| 国产一区亚洲一区| 欧美一区二区三区精品| 亚洲女女做受ⅹxx高潮| 国产精品一线二线三线| 欧美一区二区三区四区五区| 一区二区三区四区蜜桃| av男人天堂一区| 久久久不卡网国产精品二区 | 天天色综合天天| 一本到不卡精品视频在线观看| 国产欧美精品一区二区三区四区| 91美女片黄在线| 国产成人免费9x9x人网站视频| 国产精品乱子久久久久| 欧美日韩免费观看一区三区| 另类小说色综合网站| 一区二区三区毛片| 精品av久久707| 日韩欧美国产一区在线观看| 91免费观看在线| 加勒比av一区二区| 日产国产高清一区二区三区| 一区二区在线观看视频| 国产电影一区在线| 久久久久国产精品厨房| 激情小说亚洲一区| 久久综合国产精品| 国产suv一区二区三区88区| 专区另类欧美日韩| 国产精品毛片久久久久久久| 蜜臀国产一区二区三区在线播放| 欧美日韩国产一级二级| 五月婷婷色综合| 日韩精品一区二| 国产999精品久久| 亚洲欧美日韩久久| 欧美日韩亚洲综合一区 | 精品写真视频在线观看| 欧美一区日本一区韩国一区| 日本欧美一区二区在线观看| 日韩欧美国产一区二区在线播放| 国内不卡的二区三区中文字幕| 欧美国产97人人爽人人喊| 日本高清无吗v一区| 日韩精品成人一区二区在线| 精品福利一区二区三区| 国产ts人妖一区二区| 亚洲精品一二三区| 日韩欧美第一区| heyzo一本久久综合| 亚洲国产cao| 精品国产乱码久久久久久图片| 粉嫩av一区二区三区| 亚洲一级在线观看| 国产亚洲精品久| 欧美日韩激情一区二区三区| 国产99久久久国产精品潘金| 亚洲成精国产精品女| 国产精品免费久久| 日韩欧美123| 精品视频一区二区不卡| 国产99精品国产| 久久精品免费观看| 亚洲一区二区黄色| 国产精品国产三级国产aⅴ原创| 欧美一区二区三区影视| 91国在线观看| 成人av在线资源网站| 91玉足脚交白嫩脚丫在线播放| 五月婷婷久久丁香| 亚洲精品中文在线| 中文字幕亚洲欧美在线不卡| 日韩三级中文字幕| 色婷婷综合久久| 国产白丝网站精品污在线入口| 麻豆国产一区二区| 午夜精品福利在线| 亚洲男人电影天堂| 国产精品二区一区二区aⅴ污介绍| 91精品国产综合久久精品| 91激情在线视频| 91丨九色丨蝌蚪富婆spa| 丁香天五香天堂综合| 福利一区福利二区| 国产成人精品亚洲日本在线桃色|