鍍金池/ 問答/PHP  HTML/ 前端緩存數(shù)據(jù)一般是緩存多久???

前端緩存數(shù)據(jù)一般是緩存多久???

一個(gè)商城的系統(tǒng) 接口有緩存,但是在app不可能每次切換頁面的時(shí)候都從新加載數(shù)據(jù)吧,

比如 Banner圖 文章列表,

現(xiàn)在的做法是將獲取到的 Banner數(shù)據(jù) 存到nedb 或者 localstorage 之中 在存儲(chǔ)的時(shí)候加入存儲(chǔ)時(shí)間;

在每次切換請求之前判斷本地緩存中是否有 Banner數(shù)據(jù) 要是將 現(xiàn)在的時(shí)間 - 存儲(chǔ)的時(shí)間 如果這個(gè)時(shí)間 大于 2 小時(shí)重新從接口加載新的數(shù)據(jù)再寫入到本地緩存中,否則就直接使用該數(shù)據(jù);
這個(gè)效率是要比從接口緩存中從新獲取要快很多的,,,但是這樣的做法可行嗎? 還是說有什么更好的辦法沒? 望大神不吝賜教!!

回答
編輯回答
笑浮塵

localstorage是永久存儲(chǔ),即只要你不調(diào)用localstorage.clear()方法,或者用戶使用瀏覽器的清理功能,數(shù)據(jù)就會(huì)一直在那里。當(dāng)然localstorage是域名隔離的,即其他域名下的方法是查看不了你的localstorage數(shù)據(jù)的。所以如果不想多次調(diào)用接口數(shù)據(jù)的話,是可以存儲(chǔ)在localstorage中的。如果希望用戶關(guān)閉頁面就清空數(shù)據(jù)的話,可以考慮sessionstorage。

2018年3月17日 07:18
編輯回答
落殤

其實(shí)最主要的是看這個(gè)業(yè)務(wù)數(shù)據(jù)是否需要很及時(shí)的更新

2018年7月11日 06:07
編輯回答
巴扎嘿

對于大部分應(yīng)用,最簡單的做法是不用localstorage,直接保留在內(nèi)存里,下次刷新頁面時(shí)丟掉,從后臺(tái)重加載就可以了,但是對于重要的數(shù)據(jù),要給用戶刷新的手段,比如文章,可以給一個(gè)下拉刷新,不重要的數(shù)據(jù)就無所謂了。 一家之言,供參考。

2018年9月9日 22:33
編輯回答
近義詞

接口完全沒有必要緩存,接口慢難道不應(yīng)該是優(yōu)化接口嗎?要前端做緩存都是沒有優(yōu)化到點(diǎn)子上。

2017年11月16日 17:33
編輯回答
怪痞

第一:切換頁面你需要實(shí)時(shí)更新商城的商品嗎?如果需要,實(shí)時(shí)請求是沒有問題的。
第二:假如你只是為了做切換頁面不更新數(shù)據(jù)可以使用keepalive來做部分需要緩存的頁面在切換時(shí)不在進(jìn)行接口的請求。
第三:如果你按照自己上述的想法來做,具體時(shí)間需要配合產(chǎn)品的需求來做也是可以的。但是,不建議這么做。緩存是可以放置一些東西,但個(gè)人感覺還是不要什么東西都往緩存里面放,尤其是這種數(shù)據(jù)

2017年9月19日 18:37