1 回答

TA貢獻(xiàn)1998條經(jīng)驗 獲得超6個贊
做過一些小程序,也有一點心得。僅供樓主參考:
首先要明白小程序是移動端的產(chǎn)物,緩存也是在移動端,就是手機之類的。手機的內(nèi)存自然沒法和PC端相比,所以雖然緩存是個好東西,但還是需用對地方。同時還需要了解小程序的全局變量,很多時候全局變量是可以替代緩存的。
1.什么樣的數(shù)據(jù)適合緩存?
靜態(tài)數(shù)據(jù),圖片地址等。比如你有一個列表,數(shù)據(jù)都是從服務(wù)器獲取的,會加載很多的圖片和內(nèi)容,而這些圖片和數(shù)據(jù)并不會在短時間內(nèi)就更新。那么建議采用緩存。這樣除了用戶在第一次打開會去請求服務(wù)器,后面都可以直接從緩存去獲取,會大大加快加載速度。
頁面跳轉(zhuǎn)攜帶數(shù)據(jù)。通常用在跳轉(zhuǎn)詳情的場景。比如一個商品列表,點擊某一個商品后需跳轉(zhuǎn)到該商品的詳情頁。為了加快響應(yīng)速度,并不需要每次跳轉(zhuǎn)到詳情頁后再去請求對應(yīng)商品的數(shù)據(jù),而是在點擊跳轉(zhuǎn)時就將這個商品的數(shù)據(jù)存在緩存里,詳情頁直接獲取緩存就行了。
全局都需要使用的數(shù)據(jù)。這里其實就和全局變量的作用很相似,至于怎樣選擇還看實際項目需要。
2.同步與異步緩存如何使用?
用之前需明白兩者的區(qū)別:同步緩存會阻塞當(dāng)前任務(wù),異步不會。
同步使用場景:后面的數(shù)據(jù)處理依賴前面的緩存數(shù)據(jù)時。當(dāng)我的業(yè)務(wù)必須先獲取緩存中的數(shù)據(jù),再根據(jù)這個數(shù)據(jù)進(jìn)行后面的操作時,就用同步緩存。這樣就能避免出現(xiàn)后面的代碼已經(jīng)執(zhí)行,但并沒有獲取到前面緩存數(shù)據(jù)這種情況。
異步使用場景:第一點當(dāng)然就與同步相反,不存在依賴關(guān)系時放開使用。第二點就是獲取多個緩存對象時,使用異步較好。如果一次需要獲取很多個緩存對象,異步可避免阻塞帶來的影響。
添加回答
舉報