Pontos comuns entre SessionStorage, LocalStorage e Cookies:
Todos eles são salvos no navegador e têm a mesma origem.
Diferenças entre SessionStorage, LocalStorage e Cookies:
Os dados do cookie são sempre transportados na solicitação HTTP da mesma origem (mesmo que não seja necessária), ou seja, os cookies são passados entre o navegador e o servidor. SessionStorage e LocalStorage não enviarão dados automaticamente para o servidor e serão salvos apenas localmente. Os dados de cookies também têm o conceito de caminho (caminho), que pode restringir os cookies de pertencer a um determinado caminho.
O limite de tamanho de armazenamento também é diferente. Os dados do cookie não podem exceder o 4K. Ao mesmo tempo, como os cookies são transportados todas as solicitações HTTP, os cookies são adequados apenas para armazenar dados muito pequenos, como identificadores de sessão. SessionStorage e LocalStorage também têm limitações de tamanho de armazenamento, mas são muito maiores que os cookies e podem atingir 5m ou maior.
O período de validade dos dados é diferente. SessionStorage: Somente válido antes que a janela atual do navegador seja fechada, por isso é naturalmente impossível persistir; LocalStorage: sempre válido e a janela ou navegador fecha, por isso é usado como dados persistentes; Os cookies são válidos apenas até o tempo de expiração do cookie definido, mesmo que a janela ou o navegador feche.
Escopos diferentes, o SessionStorage não é compartilhado em diferentes janelas do navegador, mesmo na mesma página; LocalStorage é compartilhado em todas as janelas homólogas; Os cookies são compartilhados em todas as janelas homólogas.
O armazenamento da Web suporta mecanismos de notificação de eventos, que podem enviar notificações de atualizações de dados para os ouvintes.
A interface da API do Web Storage é mais conveniente de usar.
O método de armazenamento local encapsulado pode controlar o número de dados armazenados e o tempo
define (function (requer) {var $ = requer ('jQuery'); var cache = {}; função support () {var _t =! (typeof window.localStorage === 'undefined'); return _t; LocalStorage: window.localStorage, Memqueue: (function () {if (support ()) {var jSonstr = window.localStorage.getItem ('lruconfig'); retorna jSonstr? url) {if (true == suportes () {VAR Key = Appid + ':' + URL; this.memqueue.keys [key] .life /1000; {var _o = thaly.memqueue.objs [i]; }}, definir: função (appid, url, value) {if (true == suporte ()) {var key = Appid + ':' + url; this.localStorage.removeItem (Lrukey); (This.memqueue.objs.length> = this.config.size) {var lrukey = this.getlru (); <isto.memqueue.objs.length; this.lru (key); = Memqueue.objs; 1; Date ()). Gettime (), 'vida': (new Date ()). Gettime ()}; S.Times) {return -1; this.memqueue.objs.push (_to); }); retornar {'cache': cache};});Como usar
var cache = requer ('cache'); // Definir value cache.cache.set ('ip', 'seu próprio url', valor); // Get Value cache.cache.get ('ip')