SessionStorage、LocalStorage、Cookieの間の一般的なポイント:
それらはすべてブラウザに保存されており、同じ起源を持っています。
SessionStorage、LocalStorage、Cookieの違い:
Cookieデータは、常に同じオリジンHTTPリクエスト(不要であっても)で伝えられます。つまり、Cookieはブラウザとサーバーの間で前後に渡されます。 SessionStorageとLocalStorageは、自動的にサーバーにデータを送信することはなく、ローカルでのみ保存されます。 Cookieデータには、PATH(PATH)の概念もあります。これにより、Cookieが特定のパスに属することを制限できます。
ストレージサイズの制限も異なります。 Cookieデータは4kを超えることはできません。同時に、CookieはすべてのHTTPリクエストをすべて携帯するため、Cookieはセッション識別子などの非常に小さなデータを保存するのにのみ適しています。 SessionStorageとLocalStorageにはストレージサイズの制限もありますが、Cookieよりもはるかに大きく、5m以上に達する可能性があります。
データの妥当性期間は異なります。 sessionStorage:現在のブラウザウィンドウが閉じられる前にのみ有効なため、持続することは当然不可能です。 LocalStorage:常に有効で、ウィンドウまたはブラウザが閉じるため、永続的なデータとして使用されます。クッキーは、ウィンドウまたはブラウザが閉じる場合でも、セットCookieの有効期限が切れるまでのみ有効です。
異なるスコープ、SessionStorageは、同じページであっても、さまざまなブラウザウィンドウで共有されていません。 LocalStorageは、すべての相同窓で共有されています。 Cookieはすべての相同窓で共有されます。
Webストレージは、データの更新の通知をリスナーに送信できるイベント通知メカニズムをサポートしています。
WebストレージのAPIインターフェイスは、より便利です。
カプセル化されたLocalStorageメソッドは、保存されているデータの数と時間を制御できます
define(function(require){var $ = require( 'jquery'); var cache = {}; function support(){var _t =!(typeof windof.localstorage === 'undefined'); return _t;} $ .extend(cache、{config:{size:5、// lifetime:86400 // localStorage:window.localStorage、memqueue:(function(){if(support()){var jsonstr = window.localstorage.getitem( 'lruconfig'); return jsonstr?json.parse(jsonstr):{keys:{}、objs:}; function、url){var key = appid + ' + this.memqueue.keys [key] .life /1000; _o = memque.objs [i] {this.bjs.splice(i、1)}}} // }、function(appid、url、value){true == support()){var lrukey = this.getlru() this.localStorage.RemoveItem(lrukey)//互換性のある場合は、次の方法を使用して(thise.bjs!= memqueue.objs.lengs <= this.config.size) (this.objs.leng.size){var lrukey = this./ //最近使用されています<memqueue.objs.lention {o.key == lrukey) this.lru(key); = memque.objs 1 _o [i] _o [i] .key()。 date())、 'life' :( gettime()}; s.times){this.memque.objs = []; this.objs.push(_to); }); return {'cache':cache};});使い方
var cache = require( 'cache'); //値cache.cache.set( 'ip'、 'your own url'、value); // value cache.cache.get( 'ip')を設定します