如何做前端緩存嵌溢,防止內(nèi)存溢出,npm-storage短小精悍的前端緩存插件

一蹋岩,先介紹一下前端常用的幾種緩存

1.Cookie

cookie是比較老的前端緩存技術(shù)了赖草,它的特點(diǎn)是想要使用它前端必須要有服務(wù)(靜態(tài)網(wǎng)頁(yè)是不行的),而且存儲(chǔ)大小限制在4kb剪个。那么為什么必須要有服務(wù)才能使用cookie呢秧骑?因?yàn)橹灰姓?qǐng)求涉及cookie,cookie就要在服務(wù)器和瀏覽器之間來(lái)回傳送扣囊,而且由于瀏覽器的跨域限制乎折,客戶端和服務(wù)端必須要保證同源的原則(也就是跨域問(wèn)題,詳情見(jiàn)我的其他文章)侵歇,由于cookie是存放在前端的骂澄,所以安全問(wèn)題一直是個(gè)大問(wèn)題,因此一般重要的信息不建議放在cookie中存放惕虑。

2.Session

對(duì)于服務(wù)端的程序猿來(lái)說(shuō)session大家肯定很熟悉了坟冲,session是一種服務(wù)端的機(jī)制,也就是能把信息存放在服務(wù)端溃蔫,所以安全可以保障健提,它的原理是通過(guò)session id來(lái)識(shí)別客戶端,這個(gè)session id是存放在cookie中的(當(dāng)然session id讓用戶看見(jiàn)沒(méi)無(wú)妨)伟叛,服務(wù)端會(huì)通過(guò)session id來(lái)識(shí)別客戶端進(jìn)行匹配和判斷私痹。它和cookie對(duì)比起來(lái)差距就很明顯了,一個(gè)是把數(shù)據(jù)存在客戶端痪伦;一個(gè)存在服務(wù)端侄榴,從安全性考慮的話一般像用戶名密碼這種私密信息一般放在session中。

3.localStorage

它的特點(diǎn)就是“持久”网沾,一旦通過(guò)保存癞蚕,不通過(guò)手動(dòng)清除的話,就會(huì)一直保存在前端辉哥,它的保存格式是鍵值對(duì)的方式也就是“key-value”的方式保存的桦山,它的存儲(chǔ)空間大小限制在500萬(wàn)字符左右,一下是它的一些使用方法:


localStorage.length 獲得storage中的個(gè)數(shù)

localStorage.key(n) 獲得storage中第n個(gè)元素對(duì)的鍵值(第一個(gè)元素是0)

localStorage.getItem(key) 獲取鍵值key對(duì)應(yīng)的值

localStorage.key 獲取鍵值key對(duì)應(yīng)的值

localStorage.setItem(key, value) 添加數(shù)據(jù)醋旦,鍵值為key恒水,值為value

localStorage.removeItem(key) 移除鍵值為key的數(shù)據(jù)

localStorage.clear() 清除所有數(shù)據(jù)

4.sessionStorage

這個(gè)和localStorage有什么區(qū)別呢?sessionStorage是一種會(huì)話級(jí)別的本地存儲(chǔ)饲齐,一旦關(guān)閉瀏覽器他就會(huì)消失钉凌,而前者是很“持久”的,即使你關(guān)閉一萬(wàn)次瀏覽器也沒(méi)事捂人,所以差距還是很大的御雕。后兩者是H5才有的特性矢沿,因?yàn)楝F(xiàn)在都是前后端分離的開發(fā)模式,前端工程師都很青睞這兩種前端緩存方式酸纲,以下是sessionStorage的記本用法:


sessionStorage.length 獲得storage中的個(gè)數(shù)

sessionStorage.key(n) 獲得storage中第n個(gè)元素對(duì)的鍵值(第一個(gè)元素是0)

sessionStorage.getItem(key) 獲取鍵值key對(duì)應(yīng)的值

sessionStorage.key 獲取鍵值key對(duì)應(yīng)的值

sessionStorage.setItem(key, value) 添加數(shù)據(jù)捣鲸,鍵值為key,值為value

sessionStorage.removeItem(key) 移除鍵值為key的數(shù)據(jù)

二闽坡,npm-storage插件介紹

這是一個(gè)H5的緩存插件栽惶,在項(xiàng)目中經(jīng)常會(huì)使用localStorage或sessionStorage來(lái)緩存數(shù)據(jù),

為了使代碼更精煉整潔疾嗅,有經(jīng)驗(yàn)有能力的開發(fā)同學(xué)都會(huì)對(duì)緩存的方法做封裝外厂。

作者已幫你造好了這個(gè)輪子,拿來(lái)即用O艹佟:ㄖ浴!

插件下載

? ?使用npm:npm install npm-storage

使用git

一次泽,ssh方式:git clone git@github.com:catbea/npm-storage.git

二穿仪,https方式:git clone https://github.com/catbea/npm-storage.git

使用方法和npm-storage的api詳解

首先在html文件中引入js(根據(jù)你項(xiàng)目的路徑)

(提示:眾所周知,H5的緩存有兩個(gè)意荤,一是永久緩存localStorage啊片,二是會(huì)話級(jí)緩存sessionStorage)

在本插件中

MyLStorage 代表localStorage

MySStorage 代表sessionStorage

增加緩存(MyLStorage和MySStorage使用方法一致)

MyLStorage.set(key,value);

獲取緩存

MyLStorage.get(key);

刪除某一個(gè)緩存

MyLStorage.remove(key);

清除所有緩存

MyLStorage.clear();

api介紹完畢!>料瘛紫谷!以下是項(xiàng)目地址

源碼下載地址

https://github.com/catbea/npm-storage/releases

更多詳細(xì)介紹在請(qǐng)?jiān)L問(wèn)項(xiàng)目地址或者官網(wǎng)

項(xiàng)目地址

https://github.com/catbea/npm-storage(小哥哥小姐姐可以給個(gè)小start么)

官網(wǎng)地址

https://catbea.github.io/npm-storage.github.io

有任何疑問(wèn)請(qǐng)留言!>枇取s宰颉!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末握恳,一起剝皮案震驚了整個(gè)濱河市瞒窒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌乡洼,老刑警劉巖崇裁,帶你破解...
    沈念sama閱讀 206,482評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異束昵,居然都是意外死亡拔稳,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,377評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門锹雏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)巴比,“玉大人,你說(shuō)我怎么就攤上這事∏峤剩” “怎么了腰耙?”我有些...
    開封第一講書人閱讀 152,762評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)铲球。 經(jīng)常有香客問(wèn)我,道長(zhǎng)晰赞,這世上最難降的妖魔是什么稼病? 我笑而不...
    開封第一講書人閱讀 55,273評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮掖鱼,結(jié)果婚禮上然走,老公的妹妹穿的比我還像新娘。我一直安慰自己戏挡,他們只是感情好芍瑞,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,289評(píng)論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著褐墅,像睡著了一般拆檬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妥凳,一...
    開封第一講書人閱讀 49,046評(píng)論 1 285
  • 那天竟贯,我揣著相機(jī)與錄音,去河邊找鬼逝钥。 笑死屑那,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的艘款。 我是一名探鬼主播持际,決...
    沈念sama閱讀 38,351評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼哗咆!你這毒婦竟也來(lái)了蜘欲?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,988評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤岳枷,失蹤者是張志新(化名)和其女友劉穎芒填,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體空繁,經(jīng)...
    沈念sama閱讀 43,476評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡殿衰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,948評(píng)論 2 324
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盛泡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片闷祥。...
    茶點(diǎn)故事閱讀 38,064評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出凯砍,到底是詐尸還是另有隱情箱硕,我是刑警寧澤,帶...
    沈念sama閱讀 33,712評(píng)論 4 323
  • 正文 年R本政府宣布悟衩,位于F島的核電站剧罩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏座泳。R本人自食惡果不足惜惠昔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,261評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望挑势。 院中可真熱鬧镇防,春花似錦、人聲如沸潮饱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,264評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)香拉。三九已至啦扬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間凫碌,已是汗流浹背考传。 一陣腳步聲響...
    開封第一講書人閱讀 31,486評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留证鸥,地道東北人僚楞。 一個(gè)月前我還...
    沈念sama閱讀 45,511評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像枉层,于是被迫代替她去往敵國(guó)和親泉褐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,802評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容