亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

AJAX-Cache:一款好用的Ajax緩存插件

didikee / 605人閱讀

摘要:是一款緩存插件,可以為方法擴(kuò)展緩存功能。緩存清理插件本身會(huì)自動(dòng)清理過期緩存對(duì)于不想繼續(xù)使用緩存的接口可以為方法傳入清理當(dāng)前接口的緩存并返回最新數(shù)據(jù)也可以調(diào)用清理所有插件產(chǎn)生的緩存。

原文鏈接

AJAX-Cache是什么

Ajax是前端開發(fā)必不可少的數(shù)據(jù)獲取手段,在頻繁的異步請(qǐng)求業(yè)務(wù)中,我們往往需要利用“緩存”提升界面響應(yīng)速度,減少網(wǎng)絡(luò)資源占用。AJAX-Cache是一款jQuery緩存插件,可以為$.ajax()方法擴(kuò)展緩存功能。

AJAX-Cache提供什么 1. 定時(shí)緩存

大多數(shù)的緩存場(chǎng)景是,希望將某個(gè)接口數(shù)據(jù)在一定時(shí)間段內(nèi)緩存起來,緩存期內(nèi)不再發(fā)起請(qǐng)求直接返回本地?cái)?shù)據(jù),過了這段時(shí)間再重新獲取并更新緩存。

這就是“定時(shí)緩存”的典型使用場(chǎng)景,我們可以為$.ajax()方法傳入localCache: Number開啟定時(shí)緩存,Number是緩存秒毫秒數(shù)。定時(shí)緩存實(shí)際上是犧牲了數(shù)據(jù)實(shí)時(shí)性換取響應(yīng)速度,使用中通過設(shè)置不同的緩存時(shí)長(zhǎng),可以匹配不同的業(yè)務(wù)場(chǎng)景,比如對(duì)于相對(duì)穩(wěn)定的數(shù)據(jù)可以設(shè)置較長(zhǎng)的緩存時(shí)間,而設(shè)置較短的緩存時(shí)間則可以起到請(qǐng)求“防抖”作用。

2. 快照緩存

更多的時(shí)候我們希望接口能兼具實(shí)時(shí)性和響應(yīng)速度,比如應(yīng)用首屏的異步數(shù)據(jù)塊,既要快又要新,雖然這種需求聽起來很“不科學(xué)”,但我們確實(shí)可以通過“快照緩存”滿足這個(gè)需求。

$.ajax()方法傳入localCache: "snapshot"可以開啟快照緩存,此時(shí)每當(dāng)接口成功請(qǐng)求后都會(huì)為數(shù)據(jù)建立一份“快照”,下次請(qǐng)求時(shí)接口會(huì)首先將最近的快照數(shù)據(jù)作為結(jié)果返回,供前端渲染界面,同時(shí)發(fā)送請(qǐng)求獲取最新數(shù)據(jù),新數(shù)據(jù)到達(dá)后會(huì)與快照做對(duì)比,如果與快照相同則緩存命中,如果與快照不同會(huì)更新快照,并將新數(shù)據(jù)返回,供前端更新界面。也就是說啟用快照緩存的接口前端有可能得到兩次返回結(jié)果,為了讓前端能夠區(qū)分出快照,對(duì)象格式的快照數(shù)據(jù)會(huì)自動(dòng)增加一個(gè)snapshot=true的屬性。

3. 緩存清理

插件本身會(huì)自動(dòng)清理過期緩存;

對(duì)于不想繼續(xù)使用緩存的接口可以為$.ajax()方法傳入localCache: false清理當(dāng)前接口的緩存并返回最新數(shù)據(jù);

也可以調(diào)用$.ajaxCache.clear()清理所有AJAX-Cache插件產(chǎn)生的緩存。

4. 并發(fā)管理

除了上述基本功能,AJAX-Cache還考慮到了極端情況下的請(qǐng)求并發(fā)問題,當(dāng)某個(gè)接口在本地沒有緩存或者緩存過期時(shí)發(fā)生了并發(fā),AJAX-Cache會(huì)攔截并發(fā)請(qǐng)求,暫存請(qǐng)求回調(diào),只向服務(wù)端發(fā)送一次請(qǐng)求,待拿到數(shù)據(jù)后再依次執(zhí)行暫存的請(qǐng)求回調(diào),從而真正起到減少網(wǎng)絡(luò)資源占用的作用。

5. 約定優(yōu)于配置

最后,Ajax-Cache奉行“約定優(yōu)于配置”的理念,將主要功能都集中到一個(gè)localCache配置上,使用簡(jiǎn)單,將對(duì)業(yè)務(wù)代碼的侵入性降到最低,如果沒有使用$.ajaxCache全局方法的話,從頁面中直接將Ajax-Cache插件移除業(yè)務(wù)代碼也不會(huì)報(bào)錯(cuò)。

使用簡(jiǎn)單不代表功能簡(jiǎn)單,如果需要修改Ajax-Cache的全局配置,也可以通過$.ajaxCache.set(config[Object])方法實(shí)現(xiàn),目前有兩個(gè)配置項(xiàng):

擴(kuò)展信息

官網(wǎng):http://refined-x.com/AJAX-Cache/
Github:https://github.com/tower1229/AJAX-Cache

前端路上原創(chuàng)技術(shù)文章,轉(zhuǎn)載請(qǐng)注明出處:http://refined-x.com/2018/03/07/AJAX-Cache/

對(duì)文章內(nèi)容有任何疑問歡迎留言討論,或者掃描下方二維碼加入“前端路上-知識(shí)星球”付費(fèi)提問。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/93242.html

相關(guān)文章

  • 好用谷歌瀏覽器、Sublime Text、Phpstorm、油猴插件合集

    摘要:分享一些超好用插件,打造一個(gè)不一樣的瀏覽器編輯器。一谷歌瀏覽器插件谷歌訪問助手強(qiáng)烈推薦一鍵安裝,無需其他配置,即可訪問谷歌。谷歌瀏覽器是很耗內(nèi)存的,該插件會(huì)自動(dòng)掛起長(zhǎng)時(shí)間未使用的網(wǎng)頁,來釋放系統(tǒng)資源。 showImg(https://segmentfault.com/img/remote/1460000014011338); 分享一些超好用插件,打造一個(gè)不一樣的 GitHub、瀏覽器、...

    Rango 評(píng)論0 收藏0
  • JavaScript精編干貨

    摘要:老姚淺談怎么學(xué)鑒于時(shí)不時(shí),有同學(xué)私信問我老姚,下同怎么學(xué)前端的問題。擼碼聽歌,全局控制。 淺析用 js 解析 xml 的方法 由于項(xiàng)目上需要解析 xml,于是各種百度,然后自己總結(jié)了下各個(gè)主流瀏覽器解析 xml 的方法,只能是很淺顯的知道他的用法,但是還沒有深層次的研究。 裝 X - 建立自己的斗圖網(wǎng)站庫 之前加過一個(gè)斗圖群,看到很多經(jīng)典的表情,然后就收藏到了 QQ, 迫于本屌絲開不起...

    Fourierr 評(píng)論0 收藏0
  • 推薦幾款好用Chrome插件

    摘要:今天就來跟大家分享一下工作中用到的幾款插件。是一款功能強(qiáng)大的網(wǎng)頁調(diào)試與發(fā)送網(wǎng)頁請(qǐng)求的插件。俗稱油猴子,是一款功能非常強(qiáng)大的插件,他包含方便的腳本管理腳本概覽設(shè)置多樣性腳本自動(dòng)更新安全兼容性同步編輯器語法檢查快速開發(fā)卸載等功能。 ‘工欲善其事,必先利其器’。優(yōu)秀的開發(fā)者不僅體現(xiàn)在其在技術(shù)方面的精通,還體現(xiàn)在其對(duì)各種開發(fā)工具的充分了解與使用,這會(huì)讓其開發(fā)效率事半功倍。作為一個(gè)前端開發(fā)者,平...

    fox_soyoung 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<