1. 程式人生 > 實用技巧 >介面優化之快取技術

介面優化之快取技術

在小程式實際開發的時候,當實際頁面渲染的資料過多時(api介面實際傳送的資料過多時),如果有頻繁地進行頁面的來回切換,會頻繁的傳送請求,資料量過大時,

受網路因素等影響,使用者的實際體驗可能不太友好,因此有必要利用快取技術對介面進行優化。

和web前端開發時利用localstorage來對接收的資料進行快取的原理很像,微信小程式也有著自己的進行資料快取的地方。不過二者之間還是有些許區別的

web本地快取和小程式中的區別:

a.程式碼編寫方式的不同:

web中:

localStorage.setItem('key',value);

localStorage.getItem('key');

這個想必大家都很熟悉的

但是小程式中卻是不同:

wx.setStorageSync('key',value);

wx.getStorageSync('key');

在實際開發時,為了區分快取的資料是否有outDate,通常會在value中新增時間屬性,與當前時間的比較以確定資料的老舊。

例:

wx.setStorageSync("cates", {time:Date.now(),data:this.getCatesList});
wx.getStorageSync('cates');

b.存資料的時候有沒有做型別轉換

web本地儲存資料時會呼叫toString()將資料變成字串之後再存進去,在拿資料時呼叫JSON.parse將字串的資料轉變成物件。

而小程式本地儲存資料未對資料進行任何地轉換,存進去是什麼,拿出來的便是什麼。

在mall小程式的開發中,js利用本地快取進行優化的步驟如下:

1.先判斷本地快取中有沒有舊的資料
{time:date.now(),data:...}

2.沒有舊的資料則傳送新的api請求來獲取資料

3.有舊的資料且沒有過期(自己根據資料來設定一個新舊過渡期的一個時間段),則來使用本地快取中的資料。

*/本期到此為止