亚洲国产成人久久99精品|四虎久久久久精品无码播放|国产乱偷精品视频a人人澡|欧美日韩精品二区在线|亚洲а∨天堂在线播放2018

公司新聞您當(dāng)前的位置:首頁(yè) >

【上?!恳呀?jīng)上線的小程序如何自動(dòng)更新緩存?

發(fā)布時(shí)間:2020-05-12 10:44:28   作者:海洋2020   點(diǎn)擊:
我的所有的小程序demo都采用了大量的緩存,特別是欄目緩存,因?yàn)闄谀勘旧韺儆诓唤?jīng)常更新的內(nèi)容,為了減輕api的請(qǐng)求次數(shù),專門把欄目存入緩存,并且采用phpcms的欄目緩存調(diào)用方式存入數(shù)組:CATEGORYS,并且調(diào)用方式也是完全采用phpcms的調(diào)用方式。

雖然存入CATEGORYS調(diào)用方便了,但是百度小程序、微信小程序和頭條小程序都沒(méi)有提供緩存自動(dòng)更新的功能,有時(shí)候我們的小程序緩存有必須的更新,怎么辦?

第一、讓用戶手動(dòng)更新,比如清楚緩存或者重新刪掉小程序重新打開,但是操作成本太大,估計(jì)沒(méi)人愿意折騰,
第二、就是加入緩存時(shí)間,雖然setStorageSync沒(méi)有加入時(shí)間的地方,我們就可以直接吧時(shí)間作為整體存儲(chǔ)起來(lái)
code騰石建站
  • var timestamp = Date.parse(new Date()); 
  • var expires_time = timestamp + 1000*60*60*24*7; //緩存30分鐘 
  • swan.setStorageSync("expires_time",expires_time); 
  • 然后當(dāng)我們?nèi)プx取欄目信息的時(shí)候,只需要先判斷expires_time和當(dāng)前時(shí)間的關(guān)系,判斷是不是過(guò)期了,如果過(guò)期了,我們直接重新讀取api,如果沒(méi)有,則繼續(xù)讀取緩存,
    參考代碼:(為防止六久閣無(wú)恥抄襲,抱歉不提供源碼)


    這么寫沒(méi)問(wèn)題,但是看上去有點(diǎn)麻煩了,因?yàn)檎{(diào)用緩存的地方太多了,不能每次都這么判斷,所以我們直接在get_cat獲取欄目緩存的Promise方法里邊去判斷,我們只需要正常讀取這個(gè)方法就行



    禁止轉(zhuǎn)載,抄襲可恥
網(wǎng)站關(guān)鍵詞: 已經(jīng) 上線 線的
相關(guān)文章
  • 添加微信好友

  • 微信小程序

  • 在線客服
  • 技術(shù)支持
  • 售后服務(wù)
  • 微信號(hào):15137100750