網(wǎng)絡(luò)緩存

查詢一下網(wǎng)絡(luò)請求贝搁,你會發(fā)現(xiàn)這種漓拾,是不是真的這么簡單倔韭?可以參考一下
http://www.cocoachina.com/ios/20161107/17981.html?utm_source=tuicool&utm_medium=referral

我理解的正如評論所說的贝奇,post無法。
這個(gè)每個(gè)公司是不一樣睡雇,不過感覺都喜歡post萌衬,畢竟稍微安全點(diǎn)。

so它抱,自帶緩存可能不一定合適秕豫。最流行的流行afn和yycache組合,yycache內(nèi)存和硬盤緩存會比較快观蓄。

現(xiàn)在剩下思路:
什么需要緩存混移?(這部分只說網(wǎng)絡(luò)緩存祠墅,用戶數(shù)據(jù)緩存的話,可以是歸檔沫屡、數(shù)據(jù)庫等)
何時(shí)更新饵隙?
最最重要的是要根據(jù)現(xiàn)有項(xiàng)目情況來做出相應(yīng)的修改撮珠。

什么需要緩存沮脖。
一般請求分成二種,一種是展示(不一定緩存芯急,按需求)勺届,一種是修改,修改結(jié)果的接口我們不需要緩存(修改都是post)娶耍,我們需要緩存的是展示的網(wǎng)絡(luò)請求免姿。這部分當(dāng)然還需要區(qū)分,區(qū)分的依據(jù)是更新機(jī)制榕酒,如果你每次請求都更新的話胚膊,緩存就是為了用戶體驗(yàn)(防止用戶網(wǎng)卡)。如果你是根據(jù)后臺某個(gè)通知機(jī)制去更新想鹰,那就是一些不太常改變的數(shù)據(jù)緩存紊婉。我們可以封裝相應(yīng)的api請求接口,根據(jù)需求情況相應(yīng)改變辑舷。

那么現(xiàn)有問題又是如何去更新喻犁?
1.每次api接口請求時(shí)更新;
2.根據(jù)某個(gè)消息通知更新何缓。(app存在多端操作肢础,以及上級可以修改下級狀態(tài))

github上會有幾個(gè)afn和yycache封裝的緩存庫
我選擇了PPNetworkHelper。
大致思路碌廓,可以看下方法回調(diào)传轰,如果需要緩存的話,去內(nèi)存緩存(優(yōu)先內(nèi)存緩存谷婆,沒有硬盤緩存)查找慨蛙,有就先返回緩存,沒有的話波材,返回nil股淡,當(dāng)網(wǎng)絡(luò)請求有返回時(shí),根據(jù)返回廷区,返回成功或者失敗數(shù)據(jù)唯灵。如成功,緩存請求成功的數(shù)據(jù)隙轻。

項(xiàng)目情況(原網(wǎng)絡(luò)框架埠帕,afn封了一成)
項(xiàng)目暫無一個(gè)很好的更新機(jī)制垢揩,且一個(gè)用戶相應(yīng)身份權(quán)限都基礎(chǔ)數(shù)據(jù)需要大致5-8個(gè)接口(這部分緩存是希望體驗(yàn)好點(diǎn),app內(nèi)信息查詢根據(jù)令另外的數(shù)據(jù)緩存)敛瓷,同時(shí)由于無法判斷身份(后期app端不判斷叁巨,接口判斷能否正常調(diào)用)以前版本需要實(shí)時(shí)判斷,體檢較差呐籽。
展示頁面锋勺,根據(jù)返回顯示
列表頁面,根據(jù)返回顯示狡蝶,同時(shí)支持返回庶橱,搜索(網(wǎng)絡(luò)請求)

修改方案:(在ppnetworkhelper上封裝一層,ydnetworkhelper贪惹,然后原網(wǎng)絡(luò)框架套在ydneiworkhelper上)
修改思路:需要緩存的數(shù)據(jù)苏章,每次接口請求,優(yōu)先加載緩存(如有)奏瞬,再返回網(wǎng)絡(luò)數(shù)據(jù)枫绅。
單純的無列表展示頁面就這樣。
然后當(dāng)碰到列表頁面的時(shí)候硼端,就有問題了并淋。
列表翻頁時(shí)是要模型加到數(shù)據(jù),如果返回二次的話显蝌,數(shù)據(jù)就不對了预伺。所以我們自己的ydnetworkhelper上最好把緩存和成功(正常),以及緩存和失斅稹(這部分依照自己意愿酬诀,失敗情況,網(wǎng)絡(luò)慢骆撇,身份等等)的寫在二個(gè)block上瞒御,而不是分開的三個(gè)block。

在相應(yīng)的控制器或者presenter上去修改神郊。
1.有緩存肴裙,無網(wǎng)絡(luò)請求
2.無緩存,有網(wǎng)絡(luò)請求
3.有緩存涌乳,有網(wǎng)絡(luò)請求
4.無緩存蜻懦,無網(wǎng)絡(luò)請求(忽略)

無緩存時(shí),執(zhí)行:--->2 2執(zhí)行加到數(shù)組夕晓,刷新列表
有緩存時(shí)宛乃,執(zhí)行:1--->3 2執(zhí)行加到數(shù)組,刷新列表 3執(zhí)行刪除緩存加到數(shù)據(jù)的個(gè)數(shù),同時(shí)把網(wǎng)絡(luò)請求數(shù)據(jù)的模型加到數(shù)組刷新征炼。

本來考慮了線程析既,如果網(wǎng)絡(luò)比較好的話,可以把1這步取消谆奥,后來發(fā)現(xiàn)刪除是按數(shù)據(jù)個(gè)數(shù)的眼坏,如果加了線程可取消的話,還需要其他判斷酸些,同時(shí)無法定義網(wǎng)絡(luò)好壞宰译,因?yàn)楸┞督o了p或者c,代碼量就比較多擂仍,同時(shí)囤屹,一般一頁只設(shè)置了10到20個(gè)數(shù)據(jù),暫放棄逢渔。

以上僅測試階段,工作量較大乡括,慢慢修改肃廓。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市诲泌,隨后出現(xiàn)的幾起案子盲赊,更是在濱河造成了極大的恐慌,老刑警劉巖敷扫,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哀蘑,死亡現(xiàn)場離奇詭異,居然都是意外死亡葵第,警方通過查閱死者的電腦和手機(jī)绘迁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來卒密,“玉大人缀台,你說我怎么就攤上這事∠妫” “怎么了膛腐?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長鼎俘。 經(jīng)常有香客問我哲身,道長,這世上最難降的妖魔是什么贸伐? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任勘天,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘误辑。我一直安慰自己沧踏,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布巾钉。 她就那樣靜靜地躺著翘狱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪砰苍。 梳的紋絲不亂的頭發(fā)上潦匈,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天,我揣著相機(jī)與錄音赚导,去河邊找鬼茬缩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛吼旧,可吹牛的內(nèi)容都是我干的凰锡。 我是一名探鬼主播,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼圈暗,長吁一口氣:“原來是場噩夢啊……” “哼掂为!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起员串,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤勇哗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后寸齐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體欲诺,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年渺鹦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扰法。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡海铆,死狀恐怖迹恐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卧斟,我是刑警寧澤殴边,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站珍语,受9級特大地震影響锤岸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜板乙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一是偷、第九天 我趴在偏房一處隱蔽的房頂上張望拳氢。 院中可真熱鬧,春花似錦蛋铆、人聲如沸馋评。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽留特。三九已至,卻和暖如春玛瘸,著一層夾襖步出監(jiān)牢的瞬間蜕青,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工糊渊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留右核,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓渺绒,卻偏偏與公主長得像贺喝,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子芒篷,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容