Puntos comunes entre SessionStorage, LocalStorage y Cookies:
Todos se guardan en el navegador y tienen el mismo origen.
Diferencias entre SessionStorage, LocalStorage y Cookies:
Los datos de cookies siempre se llevan a cabo en la solicitud HTTP del mismo origen (incluso si no es necesario), es decir, las cookies se pasan de un lado a otro entre el navegador y el servidor. SessionStorage y LocalStorage no enviarán datos automáticamente al servidor y solo se guardarán localmente. Los datos de cookies también tienen el concepto de ruta (ruta), que puede restringir las cookies de pertenecer a una cierta ruta.
El límite de tamaño de almacenamiento también es diferente. Los datos de las cookies no pueden exceder los 4K. Al mismo tiempo, debido a que las cookies se transportan en todas las solicitudes HTTP, las cookies solo son adecuadas para almacenar datos muy pequeños, como identificadores de sesión. SessionStorage y LocalStorage también tienen limitaciones de tamaño de almacenamiento, pero son mucho más grandes que las cookies y pueden alcanzar 5 m o más.
El período de validez de datos es diferente. SessionStorage: solo válido antes de que se cierre la ventana del navegador actual, por lo que es naturalmente imposible persistir; LocalStorage: siempre válido, y la ventana o el navegador se cierra, por lo que se usa como datos persistentes; Las cookies solo son válidas hasta el tiempo de vencimiento de las cookies, incluso si la ventana o el navegador se cierra.
Diferentes ámbitos, SessionStorage no se comparte en diferentes ventanas del navegador, incluso en la misma página; LocalStorage se comparte en todas las ventanas homólogas; Las cookies se comparten en todas las ventanas homólogas.
El almacenamiento web admite mecanismos de notificación de eventos, que pueden enviar notificaciones de actualizaciones de datos a los oyentes.
La interfaz API de Web Storage es más conveniente de usar.
El método de almacenamiento local encapsulado puede controlar el número de datos almacenados y el tiempo
Define (function (require) {var $ = require ('jQuery'); var cache = {}; function support () {var _t =! (typeOf Window.localStorage ==== 'Undefined'); return _t;} $ .extend (cache, {config: {size: 5, // liFetEtime: 86400 // segundo de segundo en un día LIFETIM LocalStorage: Window.LocalStorage, Memqueue: (function () {if (support ()) {var jsonstr = window.localStorage.getItem ('lruconfig'); return jsonstr? json.parse (jsonstr): {keys: {}, objs: []};} else {return {};} (}) () () () () (), get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: get: waty URL) {if (true == Supporter ()) {var key = appid + ':' + url; this.memqueue.Keys [Key] .Life /1000; {var _o = this.memqueue.objs [i]; }}, set: function (appid, url, value) {if (true == Support ()) {var key = appid + ':' + url; this.localStorage.removeItem (lrukey); (this.memqueue.objs.length> = this.config.size) {var lrukey = this.getlru (); <this.memqueue.objs.length; this.lru (clave); = Memqueue.objs; 1; Date ()). GetTime (), 'Life': (nueva fecha ()). S.Times) {return -1; this.memqueue.objs.push (_to); });Cómo usar
var cache = request ('cache'); // establecer valor cache.cache.set ('ip', 'su propia url', valor); // get value cache.cache.get ('ip')