數(shù)據(jù)存儲(chǔ)機(jī)制以及緩存

存儲(chǔ)機(jī)制

1. cookies存儲(chǔ)機(jī)制

什么是cookie

當(dāng)客戶端向服務(wù)端發(fā)送請(qǐng)求后,服務(wù)端對(duì)客戶端發(fā)送過(guò)來(lái)的信息進(jìn)行處理時(shí),就會(huì)產(chǎn)生cookie,這是里面服務(wù)端就會(huì)有兩段信息,一部分是客戶端傳過(guò)來(lái)的信息,還有一段是服務(wù)器處理過(guò)的信息,cookie會(huì)將其中的一段保存起來(lái)。然后通過(guò)包頭返回客戶端保存在客戶端PC機(jī)器上。這就是cookie的生成。

優(yōu)點(diǎn):兼容性好
缺點(diǎn):一是增加了網(wǎng)絡(luò)流量,因?yàn)樗S任意http一同發(fā)送;二則是它的數(shù)據(jù)容量有限,最多只能存儲(chǔ)4KB的數(shù)據(jù),瀏覽器之間各有不同;三是不安全。

2. LocalStorage存儲(chǔ)機(jī)制

將數(shù)據(jù)保存在客戶端本地的硬件設(shè)備上,即使關(guān)閉了瀏覽器數(shù)據(jù)也不會(huì)丟失,可以說(shuō)是一種永久性的保存。

保存數(shù)據(jù)
localStorage.setItem("key","value")
//或
localStorage.key = value;
讀取數(shù)據(jù)
變量 = localStorage.getItem("key")
//或
變量 = localStorage.key

3. SessionStorage存儲(chǔ)機(jī)制

這種存儲(chǔ)機(jī)制僅僅是保存當(dāng)前會(huì)話頁(yè)面的數(shù)據(jù)內(nèi)容,當(dāng)用戶關(guān)閉了瀏覽器時(shí),保存的數(shù)據(jù)也會(huì)跟著消失,即是一種暫時(shí)性的存儲(chǔ)。

保存數(shù)據(jù)
sessionStorage.setItem("key","value")
//或
sessionStorage.key = value;
讀取數(shù)據(jù)
變量 =sessionStorage.getItem("key")
//或
變量 = sessionStorage.key

seccionStorage和localStorage都屬于web存儲(chǔ)機(jī)制,但是IE不支持 SessionStorage,低版本IE ( IE6, IE7 ) 不支持 LocalStorage,并且不支持查詢語(yǔ)言

本地?cái)?shù)據(jù)庫(kù)

在HTML5時(shí)代,數(shù)據(jù)不僅僅能存儲(chǔ)在服務(wù)器端,還能存儲(chǔ)在客戶端,著大大減輕的服務(wù)器的負(fù)擔(dān),也使得客戶端也能像訪問(wèn)本地文件一樣對(duì)內(nèi)置的數(shù)據(jù)庫(kù)進(jìn)行直接的訪問(wèn)。

SQLLite

使用openDatabase方法創(chuàng)建一個(gè)訪問(wèn)數(shù)據(jù)庫(kù)的對(duì)象,

var db = openDatabase('db','1.0','Text DB',2*1024*1024);
//這四個(gè)參數(shù)分別是數(shù)據(jù)庫(kù)名;版本號(hào);數(shù)據(jù)庫(kù)描述;數(shù)據(jù)庫(kù)大小

在實(shí)際訪問(wèn)數(shù)據(jù)庫(kù)時(shí)候,還需要調(diào)用transaction方法,用來(lái)執(zhí)行事務(wù)處理

indexedDB

IndexedDB是為了能夠在客戶端存儲(chǔ)大量的結(jié)構(gòu)化數(shù)據(jù),并且使用索引高效檢索的API

本地緩存

本地緩存與瀏覽器緩存的區(qū)別

1、本地緩存服務(wù)于整個(gè)web應(yīng)用
程序,二瀏覽器緩存只是服務(wù)于單個(gè)網(wǎng)頁(yè)
2、任何網(wǎng)頁(yè)都有網(wǎng)頁(yè)緩存,而瀏覽器緩存只緩存那些指定的頁(yè)面
3、瀏覽器緩存不安全、不可靠,因?yàn)椴磺宄彺媪四切﹥?nèi)容,而本地緩存是可靠的,因?yàn)榭梢灾付ň彺娴捻?yè)面和內(nèi)容,使得開(kāi)發(fā)人員可以控制。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容