Points communs entre SessionStorage, Localstorage et les cookies:
Ils sont tous sauvés sur le navigateur et ont la même origine.
Différences entre SessionStorage, LocalStorage et Cookies:
Les données de cookies sont toujours transportées dans la demande HTTP de même original (même si ce n'est pas nécessaire), c'est-à-dire que les cookies sont passés dans les deux sens entre le navigateur et le serveur. SessionStorage et LocalStorage n'enverront pas automatiquement des données au serveur et ne seront enregistrés que localement. Les données sur les cookies ont également le concept de chemin (chemin), qui peut empêcher l'appartenance à un certain chemin.
La limite de taille de stockage est également différente. Les données des cookies ne peuvent pas dépasser 4k. Dans le même temps, car les cookies sont transportés à chaque demande HTTP, les cookies ne conviennent que pour stocker de très petites données, telles que les identificateurs de session. SessionStorage et LocalStorage ont également des limites de taille de stockage, mais sont beaucoup plus grandes que les cookies et peuvent atteindre 5 m ou plus.
La période de validité des données est différente. SessionStorage: Seulement valide avant la fermeture de la fenêtre actuelle du navigateur, il est donc naturellement impossible de persister; LocalStorage: Toujours valide et la fenêtre ou le navigateur se ferme, il est donc utilisé comme données persistantes; Les cookies ne sont valables que jusqu'à ce que le temps d'expiration des cookies définisse, même si la fenêtre ou le navigateur se ferme.
Différentes lunettes, SessionStorage n'est pas partagée dans différentes fenêtres de navigateur, même sur la même page; LocalStorage est partagé dans toutes les fenêtres homologues; Les cookies sont partagés dans toutes les fenêtres homologues.
Le stockage Web prend en charge les mécanismes de notification des événements, qui peuvent envoyer des notifications de mises à jour de données aux auditeurs.
L'interface API du stockage Web est plus pratique à utiliser.
La méthode locale encapsulée peut contrôler le nombre de données stockées et l'heure
Définir (fonction (require) {var $ = require ('jQuery'); var cache = {}; fonction de fonction () {var _t =! (typeof window.localstorage === 'Undefined'); return _t;} $ .Extend (cache, {config: {size: 5, / / li ligetime: 86400 // second of Seconds in a day lifetime: 1; localstorage: window.localstorage, memqueue: (function () {if (support ()) {var jsonstr = window.localstorage.getItem ('lruconfig'); return json? Json.Parse (jsonstr): {keys: {}, objs: []};} fonction (appid, url) {if (true == this.memqueue.keys [key] .life / 1000; {var _o = this.memqueue.objs [i]; this.LocalStorage [Key];}}, set: function (appid, url, valeur) {if (true == {this.LocalStorage.ReMoveItem (LRUKEY);} // Définissez cette valeur // pour la compatibilité, utilisez la méthode suivante pour définir if (typeof this.memqueue.objs! = 'Undefined' && this.memqueue.objs.Length <= this.config.Size); (this.memqueue.objs.length> = this.config.size) {var lrukey = this.getlru (); this.memqueue.objsh.length; i ++) {var _o = this.memqueue.objs [i]; this.lru (clé); _o = memqueue.objs; + 1; _o [i] .time = (key == _o [i] .key)? Date ()). GetTime (), «Life»: (nouveau Date (). GetTime ()}; S.Times) {return -1;} else {this.memqueue.objs = []; this.memqueue.objs.push (_to); }); return {'cache': cache};});Comment utiliser
var cache = require ('cache'); // set value cache.cache.set ('ip', 'votre propre url', valeur); // obtenir la valeur cache.cache.get ('ip')