網(wǎng)站建設(shè)人員配置是怎樣的泉州seo按天收費
一:背景介紹
? ? ? ? 前端在調(diào)用后端接口獲取某一個人的評論次數(shù)、獲贊次數(shù)、回復(fù)次數(shù)。調(diào)用之后判斷后端返回過來的值。如果返回回來的值是0的話,從緩存中獲取對應(yīng)的值,如果從緩存中獲取的評論次數(shù)為空那么其他兩個的次數(shù)也為0。
?
二:思路&方案
? ? ? ? 1.明確緩存應(yīng)該如何使用
????????2.明確應(yīng)該什么時候使用緩存
????????3.明確評論和回復(fù)的邏輯關(guān)系
三:過程
什么是LocalStorage
????????localstorage 在瀏覽器的 API 有兩個:localStorage 和sessionStorage,存在于 window 對象中:localStorage 對應(yīng) window.localStorage,sessionStorage 對應(yīng) window.sessionStorage。localStorage 和 sessionStorage 的區(qū)別主要是在于其生存期。localStorage
理論上來說是永久有效的,即不主動清空的話就不會消失,即使保存的數(shù)據(jù)超出了瀏覽器所規(guī)定的大小,也不會把舊數(shù)據(jù)清空而只會報錯。sessionStorage
的生存期顧名思義,類似于session
,只要關(guān)閉瀏覽器(也包括瀏覽器的標(biāo)簽頁),就會被清空。
如何使用LocalStorage
//保存數(shù)據(jù)
localStorage.setItem("key","value");
//讀取數(shù)據(jù)
localStorage.getItem("key");
//刪除數(shù)據(jù)
localStorage.removeItem("key")
1.存入數(shù)據(jù)
2.讀取數(shù)據(jù)
?
?3.刪除數(shù)據(jù)
何時使用LocalStorage
- 1、登錄完成后
token
的存儲 - 2、用戶部分信息的存儲,比如
昵稱、頭像、簡介
- 3、一些項目通用參數(shù)的存儲,例如
某個id、某個參數(shù)params
- 4、項目狀態(tài)管理的持久化,例如
vuex的持久化、redux的持久化
- 5、項目整體的切換狀態(tài)存儲,例如
主題顏色、icon風(fēng)格、語言標(biāo)識
使用LocalStorage注意事項
1.命名問題
????????現(xiàn)在我們的線上就有這個問題,在同源的域名下,同源的兩個項目的localStorage是互通的。如果我們存儲信息時太過于簡單的話,可能會造成互相污染的現(xiàn)象。比如存儲用戶信息的時候,使用user來作為key存儲,但是兩個環(huán)境都使用了這個user就會產(chǎn)生污染問題。
2.時效性問題
????????localStorage除非手動進行清除,否則的話將會一直存在。如果有一些時效性的鍵值,比如說token,可能會過期,那么我們使用的時候就一定要設(shè)置過期時間。
3.隱蔽性問題
????????我們所有存在localStorage里面的數(shù)據(jù)的,都是在Application里面可以直接看到的,上線之后,用戶也是可以直接看到的,但是有的數(shù)據(jù)我們并不想讓用戶看到,這時候就要考慮隱蔽性的問題了。
四:總結(jié)
? ? ? ? 1.不應(yīng)該把經(jīng)常變動的數(shù)據(jù)放入的緩存中。我們完全可以之后從后端獲取之后直接返回給前端,前端直接渲染就可以了。不需要做任何的邏輯操作。
? ? ? ? 2.對于評論、獲贊、回復(fù)之間的邏輯。評論和回復(fù)之間是沒有耦合關(guān)系的。我們不評論自己的內(nèi)容也完全可以回復(fù)別人的評論。所以說不能因為評論是0就把回復(fù)也設(shè)置為0,邏輯上是不能自洽的。
五:升華
? ? ? ? 使用任何一個知識點要明確概念,明確邊界。什么時候需要使用什么時候不能使用。不是這種方式能夠?qū)崿F(xiàn)我們的功能我們就用這一種方案。可以出多種方面明確每一種方案的優(yōu)勢利弊。這樣我們才能避免風(fēng)險的出現(xiàn)。對于業(yè)務(wù)的邏輯我們可以把我們想的和現(xiàn)實生活進行一個映射,看看在我們實際應(yīng)用的時候會不會發(fā)生一些奇異的地方。