在頁面中(zhōng)有時需要将數據緩存到本地,提高用戶體(tǐ)驗度,筆者在此聊一(yī)聊本地緩存主要方法以及它們的區别。本地緩存主要是localStorage、sessionStorage、cookie三種方式。它們的含義與區别如下(xià):
localStorage:是永久存儲,它是一(yī)種會一(yī)直将數據存儲在客戶端的儲存方式,即使用戶關閉了當前頁面或者說浏覽器,再下(xià)次打開(kāi)的時候仍然可以看到之前存儲的未主動清楚的數據。
sessionStorage:是臨時的會話(huà)存儲,顧名思義它是一(yī)種隻要當前的會話(huà)窗口未關閉,不會随頁面刷新,或者在編輯器中(zhōng)更改了代碼,而丢失存儲的信息的方式。
cookie:是服務器發送到用戶浏覽器并保存在本地的一(yī)小(xiǎo)塊數據,它會在浏覽器下(xià)次向同一(yī)服務器再發起請求時被攜帶并發送到服務器上。
它們之間的區别有以下(xià)幾點:
1. 存儲大(dà)小(xiǎo)上:cookie存儲的大(dà)小(xiǎo)一(yī)般不能超過4k,localStorage& sessionStorage 雖然也有存儲大(dà)小(xiǎo)的限制,但比 cookie大(dà)得多,可以達到5M或更大(dà)。
2. 存儲時間上:cookie是設置 cookie 的有效期之前,是一(yī)直生(shēng)效的,與浏覽器頁面是否關閉無關。localStorage如果不手動清除數據,數據永久有效,除非,sessionStorage數據在浏覽器關閉之後自動清空。
3.作用域上:cookie&localStorage在所有同源窗口中(zhōng)數據共享,sessionStorage 不在不同的浏覽器窗口中(zhōng)共享,即使是同一(yī)個頁面